on the secure software development in early stages within
play

On the Secure Software Development in Early Stages within UML - PowerPoint PPT Presentation

On the Secure Software Development in Early Stages within UML Profiles Ricardo J. Rodr guez rjrodriguez@unizar.es http://www.ricardojrodriguez.es 19 th September, 2011 This work has been developed in collaboration with Simona Bernardi


  1. On the Secure Software Development in Early Stages within UML Profiles Ricardo J. Rodr´ ıguez rjrodriguez@unizar.es http://www.ricardojrodriguez.es 19 th September, 2011 This work has been developed in collaboration with Simona Bernardi (Centro Universitario de la Defensa) and Jos´ e Merseguer (Universidad de Zaragoza) 7 th Hack.LU Luxembourg, Luxembourg Grand-Duch´ e

  2. Motivation Motivation (I) Development Cycle Phases Analysis Requirements (properties): Functional: what the system does Technical data, data processing. . . Non-functional: how the system does No. of clients to attend, transfer speed. . . Requirements engineer role 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 2 / 29

  3. Motivation Motivation (II) Requirements analysis Functional: (more or less) obvious What about non-functional? Constraints, usability, performance. . . After this: systems engineer + software engineer Security: the Forgotten One (1) Non-functional property of the system Lack of interest Consequence: “fix it later” Fix the problem when the problem raises. . . 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 3 / 29

  4. Motivation Motivation (III) Security: the Forgotten One (2) Severe consequences High cost reimplementation/redesign Financial looses Down services → less customers Disclosure of confidential data (e.g., Sony PSN) Who pays? Requirements engineer? Systems engineer? Software engineer? 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 4 / 29

  5. Motivation Motivation (III) Security: the Forgotten One (2) Severe consequences High cost reimplementation/redesign Financial looses Down services → less customers Disclosure of confidential data (e.g., Sony PSN) Who pays? Requirements engineer? Systems engineer? Software engineer? Subprime lending? 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 4 / 29

  6. Motivation Motivation (III) Security: the Forgotten One (2) Severe consequences High cost reimplementation/redesign Financial looses Down services → less customers Disclosure of confidential data (e.g., Sony PSN) Who pays? Requirements engineer? Systems engineer? Software engineer? Subprime lending? All of’em (no, subprime crisis not here. . . ) & nobody 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 4 / 29

  7. Motivation Motivation (IV) So, then what? Minimum of security knowledge Think on security on ALL development phases Methodology change → Secure Software Engineering 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 5 / 29

  8. Motivation Motivation (IV) So, then what? Minimum of security knowledge Think on security on ALL development phases Methodology change → Secure Software Engineering Security: from the beginning to the end 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 5 / 29

  9. Related work Related work (I) Requirements, architecture & aspects. . . Requirements analysis Haley et al. ( SESS , 2006) Wolter et al. ( Requir. Eng. , 2010) Architecture Schmidt et al. ( SA , 2006) Yskout et al. ( ARES , 2008) Abi-Antoun et al. ( ASE , 2010) Heyman et al. ( ESSoS , 2011) Aspect-oriented Braga et al. ( SoSym , 2010) Georg et al. ( TSE , 2011) 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 6 / 29

  10. Related work Related work (II) Methodologies, patterns & formal methods. . . Design frameworks Mouratidis et al. ( CAiSE , 2003) Islan et al. ( SoSym , 2010) Khan ( Comp. F & S, Aug 2011 ) SDL (Microsoft) Security patterns Fern´ andez ( SERP , 2004) Halkidis et al. ( TDSC , 2008) Formal methods (automata or Petri nets) Schneider ( TISSEC , 2000) Horvath et al. ( SESS , 2008) Patzina et al. ( SD4RCES , 2010) 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7 / 29

  11. Related work Related work (III) Semi-formal methods. . . Using UML J¨ urgens (UMLSec, UML , 2002) Lodderstedt et al. (SecureUML, UML , 2002) Goudalo et al. ( SECURWARE , 2008) 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 8 / 29

  12. Related work Related work (III) Semi-formal methods. . . Using UML J¨ urgens (UMLSec, UML , 2002) Lodderstedt et al. (SecureUML, UML , 2002) Goudalo et al. ( SECURWARE , 2008) UML-based approach Standard de facto Structural and behavioural system aspects Well-known → does it make easier to add security? 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 8 / 29

  13. Background Background (I) UML profile: what? OMG standard Stereotypes and tagged values 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 9 / 29

  14. Background Background (I) UML profile: what? OMG standard Stereotypes and tagged values Annotate UML elements Expressing Non-Functional Properties (NFP) on the UML designs Extending model semantic OMG example Modelling and Analysis of RT Embedded systems (MARTE) Support for performance and schedulability analysis NFPs expressed thru VSL ( Value Specification Language ) syntax OMG. A UML profile for Modeling and Analysis of Real Time Embedded Systems (MARTE). Document ptc/09-11-02 , 2009 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 9 / 29

  15. Background Background (II) Security definition (classic) Confidentiality Integrity Availability 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 10 / 29

  16. Background Background (II) Security definition (classic) Confidentiality Integrity Availability Tight relation with dependability (Avizienis) Dependability UML profile Dependability Analysis and Modelling (DAM) MARTE specialisation Dependability properties into UML ++Literature (many use cases) Avizienis, A. et al. Basic Concepts and Taxonomy of Dependable and Secure Computing. TDSC , 2004 Bernardi, S. et al. A Dependability Profile within MARTE. Journal of Software and Systems Modelling , 2009 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 10 / 29

  17. Background Background (III) s c o a n f f i d e e n t t m i a a i y l y n t i i t l t a i b y n a a i l b e i r l i t y Dependability Security y availability integrity i t n i l t i e b g a r l i i a t v y a 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 11 / 29

  18. Background Background (IV) Ok mate, and all this, what for? Quantitative analysis Conversion to formal models (Petri nets, PN) Powerful analysis techniques 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 12 / 29

  19. Background Background (IV) Ok mate, and all this, what for? Quantitative analysis Conversion to formal models (Petri nets, PN) Powerful analysis techniques Petri net Mathematical model Places (circles, p X ) Transitions (rectangles, t X ) Time transitions interpretation Immediate ( t = 0) Timed (deterministic or probabilistic distribution) Tokens (black dots) 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 12 / 29

  20. SecAM UML profile A general overview. . . SecAM UML profile (I): a general overview. . . Security Analysis and Modelling 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 13 / 29

  21. SecAM UML profile Cryptography package SecAM UML profile (II): Cryptography package (1) 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 14 / 29

  22. SecAM UML profile Cryptography package SecAM UML profile (II): Cryptography package (2) 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 15 / 29

  23. SecAM UML profile SecurityMechanisms package SecAM UML profile (II): SecurityMechanisms package (1) 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 16 / 29

  24. SecAM UML profile SecurityMechanisms package SecAM UML profile (II): SecurityMechanisms package (2) <<gaCommHost>> «secaFirewall» WAN {location=Network; defenceType=Reactive; «secaFirewall» filterLevel=Stateful} {location=Network; defenceType=Reactive; filterLevel=Packet} <<deviceResource>> <<secaFirewall>> <<gaCommHost>> <<secaFirewall>> <<deviceResource>> LAN firewall InternalFirewall <<secaDMZ>> <<secaBastion>> <<secaBastion>> <<gaCommHost>> WebServer TestServer InternaLAN <<secaBastion>> <<secaBastion>> MailServer ProxyServer «secaBastion» <<secaBastion>> <<secaLink>> {service=Mail} «secaLink» VPNServer <<gaCommHost>> {nFactor=2; SecureInternalLAN layer=Network; «secaBastion» protocol=IPsec} {service=VPN} 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 17 / 29

  25. SecAM UML profile Resilience package SecAM UML profile (III): Resilience package (1) 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 18 / 29

  26. SecAM UML profile Resilience package SecAM UML profile (III): Resilience package (2) 7 th Hack.LU R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 19 / 29

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend