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

on the secure software development in early stages within
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

On the Secure Software Development in Early Stages within UML Profiles

Ricardo J. Rodr´ ıguez

rjrodriguez@unizar.es http://www.ricardojrodriguez.es

19th September, 2011

This work has been developed in collaboration with Simona Bernardi (Centro Universitario de la Defensa) and Jos´ e Merseguer (Universidad de Zaragoza)

7th Hack.LU Luxembourg, Luxembourg Grand-Duch´ e

slide-2
SLIDE 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

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 2 / 29

slide-3
SLIDE 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. . .

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 3 / 29

slide-4
SLIDE 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?

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 4 / 29

slide-5
SLIDE 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?

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 4 / 29

slide-6
SLIDE 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

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 4 / 29

slide-7
SLIDE 7

Motivation

Motivation (IV)

So, then what?

Minimum of security knowledge Think on security on ALL development phases Methodology change → Secure Software Engineering

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 5 / 29

slide-8
SLIDE 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

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 5 / 29

slide-9
SLIDE 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)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 6 / 29

slide-10
SLIDE 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)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 7 / 29

slide-11
SLIDE 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)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 8 / 29

slide-12
SLIDE 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?

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 8 / 29

slide-13
SLIDE 13

Background

Background (I)

UML profile: what?

OMG standard Stereotypes and tagged values

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 9 / 29

slide-14
SLIDE 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

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 9 / 29

slide-15
SLIDE 15

Background

Background (II)

Security definition (classic)

Confidentiality Integrity Availability

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 10 / 29

slide-16
SLIDE 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 R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 10 / 29

slide-17
SLIDE 17

Background

Background (III)

Dependability

r e l i a b i l i t y m a i n t a n a b i l i t y s a f e t y a v a i l a b i l i t y integrity

Security

c

  • n

f i d e n t i a l i t y availability i n t e g r i t y

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 11 / 29

slide-18
SLIDE 18

Background

Background (IV)

Ok mate, and all this, what for?

Quantitative analysis

Conversion to formal models (Petri nets, PN) Powerful analysis techniques

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 12 / 29

slide-19
SLIDE 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, pX) Transitions (rectangles, tX) Time transitions interpretation

Immediate (t = 0) Timed (deterministic or probabilistic distribution)

Tokens (black dots)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 12 / 29

slide-20
SLIDE 20

SecAM UML profile A general overview. . .

SecAM UML profile (I): a general overview. . .

Security Analysis and Modelling

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 13 / 29

slide-21
SLIDE 21

SecAM UML profile Cryptography package

SecAM UML profile (II): Cryptography package (1)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 14 / 29

slide-22
SLIDE 22

SecAM UML profile Cryptography package

SecAM UML profile (II): Cryptography package (2)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 15 / 29

slide-23
SLIDE 23

SecAM UML profile SecurityMechanisms package

SecAM UML profile (II): SecurityMechanisms package (1)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 16 / 29

slide-24
SLIDE 24

SecAM UML profile SecurityMechanisms package

SecAM UML profile (II): SecurityMechanisms package (2)

<<secaDMZ>> <<deviceResource>> <<secaFirewall>> firewall <<gaCommHost>> LAN <<secaBastion>> WebServer <<secaBastion>> MailServer <<secaBastion>> TestServer <<secaBastion>> ProxyServer <<secaFirewall>> <<deviceResource>> InternalFirewall <<gaCommHost>> InternaLAN <<secaBastion>> VPNServer <<gaCommHost>> WAN <<secaLink>> <<gaCommHost>> SecureInternalLAN «secaBastion» {service=VPN} «secaBastion» {service=Mail} «secaLink» {nFactor=2; layer=Network; protocol=IPsec} «secaFirewall» {location=Network; defenceType=Reactive; filterLevel=Packet} «secaFirewall» {location=Network; defenceType=Reactive; filterLevel=Stateful}

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 17 / 29

slide-25
SLIDE 25

SecAM UML profile Resilience package

SecAM UML profile (III): Resilience package (1)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 18 / 29

slide-26
SLIDE 26

SecAM UML profile Resilience package

SecAM UML profile (III): Resilience package (2)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 19 / 29

slide-27
SLIDE 27

SecAM UML profile AccessControl package

SecAM UML profile (IV): AccessControl package

Proposal (draft)

Subjects, operations and objects Operations: kind and granted/not granted (boolean)

Read Write Access Execution?

Subjects: self-association

Delegation of authorisation Separation of duties

Idea: access control policies specified by OCL (UML constraints)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 20 / 29

slide-28
SLIDE 28

Use case Problem description

Use case (I): problem description

Problem

Services on-demand system 2 kind of services

Service 1: 1s Service 2: 2s

Maximum of simultaneous requests: 100

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 21 / 29

slide-29
SLIDE 29

Use case Problem description

Use case (I): problem description

Problem

Services on-demand system 2 kind of services

Service 1: 1s Service 2: 2s

Maximum of simultaneous requests: 100 Legitimate and illegitimate users

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 21 / 29

slide-30
SLIDE 30

Use case Problem description

Use case (I): problem description

Problem

Services on-demand system 2 kind of services

Service 1: 1s Service 2: 2s

Maximum of simultaneous requests: 100 Legitimate and illegitimate users

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 21 / 29

slide-31
SLIDE 31

Use case Using SecAM

Use case (II): using SecAM

Adding a bit more information to the UML model

2 possibilities:

IDPS1 (hit rate 80%) IDPS2 (hit rate 95%)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 22 / 29

slide-32
SLIDE 32

Use case Using SecAM

Use case (III): more models. . .

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 23 / 29

slide-33
SLIDE 33

Use case Using SecAM

Use case (III): more models. . .

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 23 / 29

slide-34
SLIDE 34

Use case Experiments and results

Use case (IV): experiments and results

Experiments parameters

Input customers ratio: {5, 10, 20} customers/s Firewall hit rate: 80%, 95% Attacks rate: [0.15% . . . 37.5%]

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 24 / 29

slide-35
SLIDE 35

Use case Experiments and results

Use case (IV): experiments and results

Experiments parameters

Input customers ratio: {5, 10, 20} customers/s Firewall hit rate: 80%, 95% Attacks rate: [0.15% . . . 37.5%]

Figure: Detecci´

  • n 80%

Figure: Detecci´

  • n 95%

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 24 / 29

slide-36
SLIDE 36

Conclusions and future work Conclusions

Conclusions and future work (I)

Conclusions

Add security from the beginning Use of UML profiles

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 25 / 29

slide-37
SLIDE 37

Conclusions and future work Conclusions

Conclusions and future work (I)

Conclusions

Add security from the beginning Use of UML profiles Make easier its use due to UML compliant Make easier its addition into UML profile-case tools

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 25 / 29

slide-38
SLIDE 38

Conclusions and future work Conclusions

Conclusions and future work (I)

Conclusions

Add security from the beginning Use of UML profiles Make easier its use due to UML compliant Make easier its addition into UML profile-case tools SecAM-MARTE-DAM framework

Performance + dependability + security

Quantitative and qualitative analysis Detect security problems (o related) in design phase

Save on costs! (and the cheerleader!)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 25 / 29

slide-39
SLIDE 39

Conclusions and future work Future work

Conclusions and future work (II)

Future work

Security aspects not taken into account (what is missing?) Refine current status of SecAM (AccessControl?)

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 26 / 29

slide-40
SLIDE 40

Conclusions and future work Future work

Conclusions and future work (II)

Future work

Security aspects not taken into account (what is missing?) Refine current status of SecAM (AccessControl?) Qualitative analysis? Agile methods? Full support through tool

Eclipse plug-in Papyrus MARTE + DAM + (part of) SecAM already added (but not in the last version :))

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 26 / 29

slide-41
SLIDE 41

Contributions and acknowledges

Contributions and acknowledges (I)

Accepted papers

R.J. Rodr´ ıguez, On the Secure Software Development within UML

  • Profiles. In Proceedings of 7th Hack.LU Conference, 2011

R.J. Rodr´ ıguez and J. Merseguer, Integrating FT Techniques into the Design of Critical Systems. In ISARCS’10: Proceedings of the 1st International Symposium on Architecting Critical Systems, Lecture Notes on Computer Science, vol. 6150, pp. 33–51, Springer, 2010 R.J. Rodr´ ıguez, J. Merseguer and S. Bernardi, Modelling and Analysing Security Aspects within UML. In SERENE’10: Proceedings

  • f the 2nd International Workshop on Software Engineering for

Resilient Systems, 2010

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 27 / 29

slide-42
SLIDE 42

Contributions and acknowledges

Contributions and acknowledges (II)

Work in progress. . .

R.J. Rodr´ ıguez, J. Merseguer and S. Bernardi, Towards a Unified Profile for Security Modelling and Analysis (tentative title). R.J. Rodr´ ıguez, Y. Alosefer, J. Merseguer and O.F. Rana, Improving Security Capabilities into Systems by Honeypots Data Analysis (tentative title). SecAM + Business Process Modelling.

Acknowledges

Jos´ e Merseguer & Simona Bernardi

Good friends, and better professionals

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 28 / 29

slide-43
SLIDE 43

Contributions and acknowledges

Contributions and acknowledges (II)

Work in progress. . .

R.J. Rodr´ ıguez, J. Merseguer and S. Bernardi, Towards a Unified Profile for Security Modelling and Analysis (tentative title). R.J. Rodr´ ıguez, Y. Alosefer, J. Merseguer and O.F. Rana, Improving Security Capabilities into Systems by Honeypots Data Analysis (tentative title). SecAM + Business Process Modelling.

Acknowledges

Jos´ e Merseguer & Simona Bernardi

Good friends, and better professionals

Hack.LU conference committee

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 28 / 29

slide-44
SLIDE 44

Contributions and acknowledges

Contributions and acknowledges (II)

Work in progress. . .

R.J. Rodr´ ıguez, J. Merseguer and S. Bernardi, Towards a Unified Profile for Security Modelling and Analysis (tentative title). R.J. Rodr´ ıguez, Y. Alosefer, J. Merseguer and O.F. Rana, Improving Security Capabilities into Systems by Honeypots Data Analysis (tentative title). SecAM + Business Process Modelling.

Acknowledges

Jos´ e Merseguer & Simona Bernardi

Good friends, and better professionals

Hack.LU conference committee All of you by hearing my (quite) boring talk. . .

R.J. Rodr´ ıguez SSD in Early Stages within UML Profiles 7th Hack.LU 28 / 29

slide-45
SLIDE 45

On the Secure Software Development in Early Stages within UML Profiles

Ricardo J. Rodr´ ıguez

rjrodriguez@unizar.es http://www.ricardojrodriguez.es

19th September, 2011

This work has been developed in collaboration with Simona Bernardi (Centro Universitario de la Defensa) and Jos´ e Merseguer (Universidad de Zaragoza)

7th Hack.LU Luxembourg, Luxembourg Grand-Duch´ e