Tutorial: Security patterns and secure systems design using UML - - PowerPoint PPT Presentation

tutorial security patterns and secure systems design
SMART_READER_LITE
LIVE PREVIEW

Tutorial: Security patterns and secure systems design using UML - - PowerPoint PPT Presentation

Tutorial: Security patterns and secure systems design using UML Eduardo B. Fernandez and Maria M. Larrondo Petrie Dept. of Computer Science and Eng. Florida Atlantic University www.cse.fau.edu/~security {ed, maria}@cse.fau.edu ICWMC/ICCGI


slide-1
SLIDE 1

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 1

Tutorial: Security patterns and secure systems design using UML

Eduardo B. Fernandez and Maria M. Larrondo Petrie

  • Dept. of Computer Science and Eng.

Florida Atlantic University www.cse.fau.edu/~security {ed, maria}@cse.fau.edu

slide-2
SLIDE 2

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 2

  • Professor of Computer Science at

Florida Atlantic University, Boca Raton, FL, USA

  • At IBM for 8 years (L.A. Scientific Center).
  • Wrote the first book on database security

(Addison-Wesley, 1981).

  • Author of many research papers
  • Consultant to IBM, Siemens, Lucent,…
  • MS EE Purdue U, PhD CS UCLA
slide-3
SLIDE 3

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 3

  • Professor of Computer Science & Engineering and

Associate Dean of Academic & International Affairs at Florida Atlantic University, Boca Raton, FL., USA

  • Executive Vice President of LACCEI

(Latin American and Caribbean Consortium of Engineering Institutions)

  • Authored over 130 research papers on

complex systems modeling (environmental, security)

  • Over US$2.5M in research grants from NATO,

IBM, NSF, and South Florida Water Management District

slide-4
SLIDE 4

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 4

Abstract

  • Analysis and design patterns are well established to build high-quality object-
  • riented software. Patterns combine experience and good practices to develop

basic models that can be used for new designs. Security patterns join the extensive knowledge accumulated about security with the structure provided by patterns to provide guidelines for secure system design and evaluation. We show a variety of security patterns and their use in the construction of secure

  • systems. These patterns include Authentication, Authorization, Role-based

Access Control, Firewalls, Web Services Security, and others. We apply these patterns through a secure system development method based on a hierarchical architecture whose layers define the scope of each security mechanism. First, the possible attacks and the rights of the users are defined from the use cases using a Role-Based Access Control (RBAC) model. The attacks are used to find the necessary policies, while the rights are reflected in the conceptual class model. We then define additional security constraints that apply to distribution, interfaces, and components. The patterns are shown using UML models and some examples are taken from our book Security Patterns: Integrating security and systems engineering (Wiley 2006).

  • Keywords: object-oriented design, patterns, secure systems design, security,

software architecture

slide-5
SLIDE 5

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 5

slide-6
SLIDE 6

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 6

  • To get a panorama of security patterns and

how to use them

  • To consider a systematic approach to secure

systems development based on patterns and UML

  • To study some specific patterns in detail
  • To get ideas for research
slide-7
SLIDE 7

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 7

  • Security concepts and definitions
  • The Internet
  • Attacks
  • A methodology for the design of secure systems
  • Security models
  • Firewalls
  • Operating systems
slide-8
SLIDE 8

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 8

  • Web services
  • Application security
  • Distributed and web systems
  • More security patterns
  • Conclusions
slide-9
SLIDE 9

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 9

  • Objectives
  • Countermeasures
  • Security architectures
slide-10
SLIDE 10

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 10

  • “Me da lo mismo que me escuches o no. Es

asi, y me parece justo que lo sepas”.

  • J. Cortazar, “El idolo de las Cicladas”, en

“Ceremonias”, Seix Barral, 1983

slide-11
SLIDE 11

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 11

The value of information

  • We rely on information for our credit,

health, professional work, business, education

  • Illegal access (reading or modification) to

information can produce serious problems

slide-12
SLIDE 12

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 12

Security objectives

  • Confidentiality--no leakage of sensitive or

private information

  • Integrity-- no unauthorized modification or

destruction of information

  • Availability (No denial of service) --

annoying , costly

  • Lack of accountability (Non-repudiation)--

legally significant

slide-13
SLIDE 13

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 13

The meaning of security

  • Security implies providing these objectives

in the presence of attacks

  • Security requires technical, managerial, and

physical countermeasures (defenses)

  • We only consider technical aspects here
  • A related aspect is privacy, a legal and

ethics concern

slide-14
SLIDE 14

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 14

Countermeasures

  • Identification and Authentication– first step
  • Access control/ authorization --provide

confidentiality and integrity

  • Auditing-- basis for prosecution or

improvements to the system

  • Cryptography-- a mechanism to hide

information and prove identity and rights

  • Intrusion detection
slide-15
SLIDE 15

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 15

Basic security architecture

  • Authentication happens first
  • Authorization rules define what is allowed
  • r not allowed (who can see what and how)
  • Assurance is a measure of how well the

lower levels enforce authentication and authorization

  • Cryptography protects communications and

maybe stored data

slide-16
SLIDE 16

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 16

Security environments

  • Early systems were isolated and single user
  • -few security problems
  • Mainframes brought many users but we

knew them (registered)—complexity and attacks increased

  • The Internet opened up our systems to

unknown users—exponential growth in attacks

slide-17
SLIDE 17

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 17

  • Basic architecture
  • Documents
  • New architectures
slide-18
SLIDE 18

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 18

Al abrir los ojos, vi el Aleph. El lugar donde estan, sin confundirse, todos los lugares del orbe, vistos desde todos los angulos. J.L. Borges, “Narraciones”, Salvat, 1982.

slide-19
SLIDE 19

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 19

Context for security

  • The Internet is the most demanding

environment

  • Complex
  • Unknown users
  • We want to have our information accessible

from the Internet

slide-20
SLIDE 20

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 20

Basic Architectural components

  • Web browsers -- can request HTML

documents, provide URL caching , support directories

  • Web servers -- receive user requests , find

and return documents

  • Files or DBMS store documents
  • Documents -- pages or sets of pages
slide-21
SLIDE 21

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 21

Basic Internet architecture

Web browser’s HTML Web servers

HTTP Data

users

slide-22
SLIDE 22

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 22

Web documents

  • Hypertext /multimedia
  • Passive or active (contain links to

programs)

  • Fixed or dynamic (assembled on request)
  • Potentially all institution data can be

considered documents

slide-23
SLIDE 23

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 23

Example of a web page

text text

General Company Information Corporate DBMS Clipboard files Product information

slide-24
SLIDE 24

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 24

XML

  • XML is a metalanguage to define the

meaning and structure of documents. A subset of SGML (Standard Generalized Markup Language). Basic ideas: use tags in data items to define their meaning, relate data items through nesting and references.

slide-25
SLIDE 25

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 25

Enterprise architectures

Web browsers Web servers Internal Users Web Application Server Web browsers

. . .

External Users Internet Intranet Engineering Customers Production

slide-26
SLIDE 26

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 26

Web Services

  • A Web Service is a type of component that

is available on the web and can be incorporated in applications or used as a standalone service

  • Requires a standard supporting framework
  • The web could become a marketplace of

web services (not there yet)

slide-27
SLIDE 27

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 27

Web Services Repository Publicize Use Discover 1 2 3 Web Services Provider Web Services Client

slide-28
SLIDE 28

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 28

Web services architectures

  • Web services are part of the application

layer

  • Web services are built out of XML, a lower-

level data layer

  • A SOAP layer is used for XML message

transmission

  • Internet layers and web server layers

provide support for these layers

slide-29
SLIDE 29

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 29

WS1 WS2 Registry

PAYLOAD HEADER

. . .

. . .

Transports HTTP

Web Services Business Workflow Catalog and Description Communications

DBMS SSL OS TCP/IP

file system memory processes Web services layers Supporting structures

Document Storage

. . .

slide-30
SLIDE 30

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 30

Agents

  • Autonomous software that moves through

the Internet

  • Can perform predefined tasks, e.g. search

for a book and buy it if the price is right

  • No general standards until now
slide-31
SLIDE 31

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 31

  • Methods
  • Types
slide-32
SLIDE 32

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 32

Pero a veces me encontraba perdido en la

  • scuridad o tenia la

impresion de enemigos escondidos…Quienes eran esas gentes y que querian?

  • E. Sabato, “El tunel” (Seix

Barral, 1978, p. 58)

slide-33
SLIDE 33

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 33

Malicious code (malware)

  • Trojan Horses—A Trojan Horse is an

apparently useful program that has harmful hidden functions (spyware)

  • Viruses – A virus is a program that attaches

itself to another program, propagates, and usually causes some data destruction.

  • Worms—A worm is a program that

propagates itself without infecting the host.

slide-34
SLIDE 34

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 34

Direct attacks

  • To the operating system
  • To the database system
  • To the application (increasing)
  • Done through the network
  • Almost no attacks to the messages in the

network (low payoff and cryptography works)

slide-35
SLIDE 35

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 35

Attackers

  • Insiders -- According to studies about half
  • f the attacks to a system come from

insiders.

  • Hackers -- Usually try to show off their

ability by penetrating systems

  • Spies -- Industrial or government spionage
slide-36
SLIDE 36

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 36

Vulnerabilities

  • Attacks can exploit vulnerabilities to misuse

information

  • A threat is a potential attack
  • An exploit or incident is a specific
  • ccurrence of an attack
  • Complexity brings along more

vulnerabilities

slide-37
SLIDE 37

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 37

Current situation

  • The Internet is an insecure place and attacks

keep occuring

  • One of the main reasons is the poor quality
  • f the software used in systems and

application software

  • We need a systematic way to build secure

software

slide-38
SLIDE 38

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 38

Identifying attacks

  • We need to know what kind of attacks to

expect.

  • We relate attacks to attacker goals
  • We study systematically all the possible

attacks to each activity in a use case

  • Use cases define all functional interactions
slide-39
SLIDE 39

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 39

Use cases as starting point

  • Attacker is not interested in changing a few

bits or destroying a message

  • Attacker wants to accomplish some
  • bjective, e.g., steal money, steal identity
  • This is applying the principle of defining

security at the semantic levels

  • We also need to comply with standards
slide-40
SLIDE 40

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 40

A financial institution

Open Account Close Account Customer Perform trade Receive Trade Order Manager Check Trade Info Auditor Broker

UC1 UC2 UC3 UC4 UC5

slide-41
SLIDE 41

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 41

Check Credit Provide Personal Info Customer Manager Create Account Create Authorization Initial deposit :Card1 :Customer Account1: Create Authorization

slide-42
SLIDE 42

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 42

Provide Personal Info Check Credit Create Account Initial Deposit Create Authorization Issue Card Disseminate Info Illegally Issue Spurious Card Transfer Money Account1: :Customer Account2: Account3: Card1: Card2: Create Spurious Account Imposter Imposter False info Customer Manager External Attacker Provide Personal Info Check Credit Create Account Initial Deposit Create Authorization Issue Card Disseminate Info Illegally Issue Spurious Card Transfer Money Account1: :Customer Account2: Account3: Card1: Card2: Create Spurious Account Imposter Imposter False info Customer Manager External Attacker

slide-43
SLIDE 43

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 43

Possible attacks

  • A1.The customer is an impostor and opens an account in the name of

another person

  • A2.The customer provides false information and opens an spurious

account

  • A3.The manager is an impostor and collects data illegally
  • A4.The manager collects customer information to use illegally
  • A5.The manager creates a spurious account with the customer’s

information

  • A6.The manager creates a spurious authorization card to access the

account

  • A7.An attacker tries to prevent the customers to access their accounts
  • A8.An attacker tries to move money from an account to her own

account

slide-44
SLIDE 44

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 44

  • Security is a nonfunctional aspect that must

be satisfied in addition to functional aspects

  • We cannot show absence of security flaws
  • We must use good development methods

and hope for the best

  • Add-on security is not the way
slide-45
SLIDE 45

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 45

Trabajo desde hace an~os en la Unesco y otros

  • rganismos internacionales, pese a lo cual

conservo algun sentido del humor y especialmente una notable capacidad de abstraccion, es decir que si no me gusta un tipo lo borro del mapa con solo decidirlo. De la misma manera si me gusta una chica puedo abstraerle la ropa apenas entra en mi campo visual,…

Julio Cortazar, “Historias de cronopios y de famas”, Edhasa, 1970

slide-46
SLIDE 46

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 46

Approach attempted in the past

  • Define a security kernel: includes all

security-related functions

  • Verify kernel: possible only for relatively

simple systems

  • Requires special languages and special
  • perating systems
  • Not practical for general systems, valid for

specific parts

slide-47
SLIDE 47

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 47

Applying the principles

  • Security should start where the application

semantics is understood

  • Security is an all-levels problem
  • We should start from high-level policies

and map them to the lower levels

  • We need precise models to guide system

development

slide-48
SLIDE 48

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 48

A

  • a. m1
  • b. m2
  • c. m3

classes Metalayer

  • bjects

Application layer executing processes System layer (OS/DBMS) nodes Node1 Node2 processors network CPU1 CPU2 CPU3 Protocol Distribution layer Hardware Configuration

a:A

B

C b:B c:C

slide-49
SLIDE 49

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 49

Secure systems development methodology

  • Apply security principles throughout the

whole software lifecycle

  • Use of object-oriented design
  • Use cases identify attacks and define rights

for roles

  • Patterns build a secure conceptual model
  • Multilayer architecture extends the model to

the lower architectural levels

slide-50
SLIDE 50

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 50

Software lifecycle

Security verification and testing Requirements Analysis Design Implementation

Secure UCs Authorization rules in conceptual model Rule enforcement through architecture Language enforcement

Security test cases

slide-51
SLIDE 51

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 51

Use of object-oriented modeling

  • Strong conceptual modeling capability ,

applicable to hardware, software, applications, authorization rules

  • Abstraction from irrelevant details
  • Intuitive , graphic, semiformal approach
  • Can be enhanced with formal specifications
slide-52
SLIDE 52

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 52

OO and UML

  • UML is an object-oriented language for

specifying, constructing, visualizing, and documenting a software design.

  • Basically a notation and its corresponding

meaning , not a process.

  • OMG standard (www.omg.org)
  • Known and maybe used by many

developers

slide-53
SLIDE 53

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 53

Use of patterns

  • A pattern is a recurring combination of

meaningful units that occurs in some context

  • Patterns embody experience and good

design practices

  • Prevent errors, save time
  • Can apply principles implicitly
slide-54
SLIDE 54

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 54

Security patterns

  • Analysis and design patterns are well established
  • There are many principles of good design that

have been developed to build secure systems

  • It is possible to develop a collection of patterns

that can be used to build secure systems

  • Patterns can be used to build or evaluate secure

systems or for teaching security

slide-55
SLIDE 55

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 55

We can use patterns at all levels

  • Patterns for models define the highest level
  • At each lower level we refine the patterns at

the previous level to consider the specific aspects of each level

slide-56
SLIDE 56

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 56

We start from policies

  • The policies of an institution define its way
  • f accomplishing its objectives
  • Security policies define its way to protect its

information

  • Without policies we don’t know what we

should protect

slide-57
SLIDE 57

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 57

Institution policies

  • Laws, rules, and practices that regulate how

an institution manages and protects

  • resources. Another definition is: high-level

guidelines concerning information security. Computer mechanisms should enforce these policies.

slide-58
SLIDE 58

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 58

Some security policies

  • Open/closed systems--In a closed system

everything is forbidden unless explicitly allowed

  • Need-to-know (Least privilege)-- Give enough

rights to perform duties

  • Information belongs to the institution versus

private ownership

  • Authorization-- access types, small units of access
slide-59
SLIDE 59

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 59

Security policies II

  • Obligation—What has to be done before accessing

data

  • Separation of duty—Separate critical functions

into parts to be done by different people or systems

  • Content-dependent access control—Access

decision are based on the values of the data

  • Authenticate all transactions—needed for

accountability and access control

slide-60
SLIDE 60

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 60

Example of university policies

  • An instructor can look at all the information about the

course he is teaching.

  • An instructor can change the grades of the students in the

course he is teaching

  • A student may look at her grades in a course she is taking
  • The department head can add/delete course offerings
  • The registrar can add/delete students from course offerings
  • Faculty members can look at information about themselves
slide-61
SLIDE 61

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 61

Use of policies

  • Secure systems must be closed but

sometimes open access to information is more important, e.g., libraries, data warehouses, …

  • The need-to-know principle must be applied

with an appropriate granularity, many attacks happen because of too many rights

slide-62
SLIDE 62

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 62

Use case analysis leads to policies

  • A1. A3. Mutual authentication. Every interaction across system nodes

is authenticated.

  • A2. Verify source of information.
  • A4. Logging. Since the manager is using his legitimate rights we can
  • nly log his actions for auditing at a later time.
  • A5. A6. Separation of administration from use of data. For example, a

manager can create accounts but should have no rights to withdraw or deposit in the account.

  • A7. Protection against denial of service. We need some redundancy in

the system to increase its availability.

  • A8. Authorization. If the user is not explicitly authorized he should not

be able to move money from any account.

slide-63
SLIDE 63

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 63

Use cases can also be used to find actor rights (policies)

  • Use cases describe all possible uses of the

system

  • All use cases define all possible and legal

accesses

  • Each actor can be given its needed rights to

perform its functions

slide-64
SLIDE 64

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 64

Scenarios to determine rights

method j method j+1 method j+m Authorized actions for actor_i in UseCase_q actor_i

  • bject_k
  • bject_k + 1

. . .

slide-65
SLIDE 65

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 65

Role rights for financial institution

  • Customers can open/close accounts
  • Customers can initiate trade
  • Broker can perform trade
  • Auditor can inspect (read) trade transactions
slide-66
SLIDE 66

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 66

Methodology

  • Use case activities define attacks
  • Attacks lead to policies to stop them
  • Use cases define needed actor rights
  • Access matrix or RBAC models formalize

these rights

slide-67
SLIDE 67

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 67

Standards

  • Orange Book
  • Common Criteria (NIST)
  • IEEE
  • IETF (Internet Engineering Task Force)
  • OASIS (Open Applications…)
  • W3C
  • Industry ad hoc groups: IBM, Microsoft,…
slide-68
SLIDE 68

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 68

Standards for web services

  • A variety of standards to cover all levels
  • May overlap or be in conflict
  • XACML, WS-Security, SAML, SOAP

security, privacy standards

  • Confusing for vendors and users
slide-69
SLIDE 69

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 69

WS1 WS2 Registry

P AYLOAD H EADE R

. . . . . .

Transports HTTP D ocu ment Storage

Web Services Business Workflow C atalog and Description C omm unicatio ns

D BM S SS L OS TCP/IP

file system memory processes BPEL4WS WSCI UDDI ebXML WSDL SOA P XML X ML

Standards Security Standards/ Specificatio ns

ebXML sec WSPL WS-Security

  • XML Encryption

XML Signature XKMS Encr yption SAM L X ACML WS-P olicy WS-Authorization UD DI security WS-Trust WS-Federation WS-SecureC onversation

S OAP XML

Web services lay ers Supporting structures

SAML WS-Privacy

slide-70
SLIDE 70

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 70

  • Classification
  • Access matrix
  • Role-Based Access Control
  • Multilevel security
slide-71
SLIDE 71

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 71

Classification of security models

  • Multilevel --users and data are assigned

security levels

  • Access matrix -- subject has specific type of

access to data objects

  • Mandatory --access rules defined only by

administrators

  • Discretionary -- users own data and can

grant access to other users

slide-72
SLIDE 72

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 72

Access matrix authorization rules

  • Basic rule ( s, o, t ) , where s is a subject

(active entity), t is an access type, and o is an object

  • Extended rule ( s, o , t , p, f) , where p is a

predicate (access condition or guard) and f is a copy flag

  • This, and the other models, can be described

by patterns

slide-73
SLIDE 73

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 73

Authorization/access matrix

Subject ProtectionObject Right id name id name accessType checkRights * * isAuthorizedFor

slide-74
SLIDE 74

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 74

Extended access matrix

Subject id ProtectionObject id * * Authorization_rule Right access_type predicate copy_flag checkRights

slide-75
SLIDE 75

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 75

Authorization mapping

r / w f = T r f = F r / w f = T

subjects protection

  • bjects

U1 F1 Ui Fi

. .

mi Uj

slide-76
SLIDE 76

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 76

Reference Monitor

  • Each request for resources must be

intercepted and evaluated for authorized access

  • Abstract concept, implemented as memory

access manager, file permission checks, CORBA adapters, etc.

slide-77
SLIDE 77

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 77

Reference monitor pattern

Subject Reference Monitor Set_of_ Authorization_ Rules prot_Object access_type Request Concrete Reference Monitor Authorization

* * * * *

makesRequestTo exists

slide-78
SLIDE 78

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 78

Enforcing access control

:CurrentProcess <<actor>> :RefMonitor :Set_of_AuthorizationRules :Authorization :Prot_Object request (acc_type prot_object) exists?(rule) exists exists request

slide-79
SLIDE 79

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 79

Role-Based Access Control

  • Users are assigned roles according to their

functions and given the needed rights (access types for specific objects)

  • When users are assigned by administrators,

this is a mandatory model

  • Can implement least privilege and

separation of duty policies

slide-80
SLIDE 80

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 80

Basic RBAC pattern

User id name ProtectionObject id name * * Authorization_rule

Right

access_type predicate copy_flag checkRights Role id name * * MemberOf

slide-81
SLIDE 81

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 81

Extended RBAC

  • Concept of session
  • Separation of administrative roles
  • Composite roles
  • Groups of users
slide-82
SLIDE 82

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 82

Extended RBAC pattern

User ProtectionObject * * AuthorizationRule Right Role * * Session AdminRole AdminRight MemberOf Group * * * 1 * * *

Composite Role Simple Role

Subset WorksOn Activated From

MemberOf

*

slide-83
SLIDE 83

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 83

Attribute-Based Access Control

  • In the Internet we need to deal with non-

registered users

  • Determine effective subjects and objects

based on attribute values

slide-84
SLIDE 84

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 84

Metadata-based access control

Subject Descriptor Object Descriptor Attribute Property Attribute Qualifier

  • perator

value Property Qualifier

  • perator

value Object Subject * 1 1 * * * Right accessType isAuthorized For AttributeValue value * * * * 1 PropertyValue value * * 1

slide-85
SLIDE 85

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 85

Multilevel model

  • In this model users and data are assigned

classifications or clearances

  • Classifications include levels (top secret,

secret,…), and compartments (engDept, marketingDept,…)

  • For confidentiality, access of users to data is based
  • n rules defined by the Bell-LaPadula model,

while for integrity, the rules are defined by Biba’s model

slide-86
SLIDE 86

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 86

Multilevel security model

Subject Data Category Clearance Level Category Classification Level TrustedProcess * * * * 1 CanAccess SS_property *_property AssignLevel AssignLevel * * * * 1

slide-87
SLIDE 87

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 87 Session-based RBAC Basic Authorization

authorizer

Session-based ABAC Delegatable Authorization Basic RBAC Content-based Authorization Explicitly Granted Authorization ABAC

á =Role á or É =attribute values

session condition session CopyFlag

Access Session

uses uses

Access control variations

slide-88
SLIDE 88

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 88

Methodology

  • Use case activities define attacks
  • Attacks lead to policies to stop them
  • Use cases define needed actor rights
  • Access matrix or RBAC models formalize

these rights

  • Lower levels (defined by more patterns)

enforce the rights

slide-89
SLIDE 89

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 89

To stop or mitigate the attacks we need the following policies

  • A1. A3. Mutual authentication. Every interaction across system nodes

is authenticated.

  • A2. Verify source of information.
  • A4. Logging. Since the manager is using his legitimate rights we can
  • nly log his actions for auditing at a later time.
  • A5. A6. Separation of administration from use of data. For example, a

manager can create accounts but should have no rights to withdraw or deposit money in the account.

  • A7. Protection against denial of service. We need some redundancy in

the system to increase its availability. Intrusion detection and filtering policies should also be useful

  • A8. Authorization. If the user is not explicitly authorized he should not

be able to move money from any account.

slide-90
SLIDE 90

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 90

Layered architecture

  • The lower layers implement concrete

versions of these models and enforce them

  • We will look at several of these layers
  • First example is from the boundary between

the network layer and the operating system layers

  • Example illustrates pattern templates
slide-91
SLIDE 91

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 91

Anatomy of a pattern

  • Patterns are described by templates
  • Templates have a fixed set of sections that

describe the pattern in a standard way

  • We use the POSA template, there are two

more: the GOF and the Alexandrian

  • Remote Authenticator/Authorizer
  • The LACCEI paper shows another example,

a Firewall pattern

slide-92
SLIDE 92

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 92

Remote Authenticator/Authorizer

  • Intent: Provide facilities for authentication and authorization when accessing shared

resources in a loosely-coupled distributed system

  • Example: A multinational corporation may have employees, say in the US and Brazil.

The user authentication and authorization information necessary to support an employee in the US is stored in the US servers and the information to support that of a Brazilian Employee is stored in Brazil servers. Now assume that an employee from the US is traveling to Brazil and has the need to access some data from the Brazilian database servers. There are two possible ways to achieve this Replicate the user information of the employee in the Brazilian Server and give her the proper authorizations to access the data. Borrow the username of an employee in Brazil who has similar rights and use that username to access the required information. Both of these solutions have their disadvantages. The system administrators will be faced with creating and managing user accounts within each of the multiple systems to be accessed in a coordinated manner in order to maintain the consistency of the security policy enforcement. If the username of another employee is borrowed, accountability is compromised

slide-93
SLIDE 93

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 93

Remote authenticator II

  • Context: Loosely-coupled distributed systems such as the Internet,

that consist of a variety of computational nodes, and where some nodes need to share resources. For example, a company with several divisions in different countries.

  • Problem: How can we provide authentication and authorization in a

distributed environment without the need for redundant user login information? In the past few years, telecommuting, the Internet, and electronic commerce have developed from an alternative means of doing business to become increasingly mainstream consumer

  • activities. The concern for corporate data security has grown

tremendously and the need for single user sign on to multiple domains and multiple services is becoming more of a necessity than a luxury. A system with a centralized sign-on can provide easy management, more accountability and secure authentication.

slide-94
SLIDE 94

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 94

Forces

  • Storing user authentication and authorization information

at multiple locations makes them redundant, difficult to administer, and prone to inconsistencies.

  • Although the authentication information may be stored

anywhere, this location should be transparent to the users.

  • Users typically work in the context of some role and these

roles should be standard across a variety of domains, at least within a company or institution.

  • Borrowing the login rights of a local user makes it

impossible to make the user accountable, we need a way to keep the user id when he is accessing resources anywhere.

slide-95
SLIDE 95

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 95

Solution

  • Set up a single entry point that can transparently redirect the user to the

correct server where his user login and access information can be validated.

  • Use a specialized authentication/authorization server. This server is

used for embedded network devices such as routers, modem servers, switches, etc. The authentication servers are responsible for receiving user connection requests, authenticating the user, and then returning all configuration information necessary for the client to deliver service to the user. The Client makes a request for a service through a Proxy Server that represents the actual server that contains the user login

  • information. The request is routed to the Remote Server, which

validates it, based on the Role of the Subject of the request and the Rights of this role with respect to the Protection Object.

slide-96
SLIDE 96

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 96

+request() AuthenticationServer +request() ProxyServer +request() RemoteServer +request() Client

* * * 1

represents +validate() Subject

1 *

Validate Request +createRole() +getRole() Role

1 *

has ProtectionObject request Right

* *

slide-97
SLIDE 97

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 97

:Client :ProxyServer

Access Challenge() Challenge Access Request: () Accept Accept: ()

:RemoteServer

Access Request() Access Request() Calculate Response() Access Challenge() Accept Accept() Challenge Access Request()

:Role :ProtectionObject

Request Protected Object() Request Protected Object() check role() role has access rights() Access Protection Object() Protection Object() Protection Object() Protection Object() check local user()

slide-98
SLIDE 98

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 98

Consequences

This pattern has the following advantages:

  • Roaming permits two or more administrative entities to allow each other's users to dial

in to either entity's network for service.

  • Storing the user login and access rights at a single location makes it more secure and

easy to maintain.

  • The user's login ID, password etc. are stored in the internal radius database or can be

accessed from an SQL Database.

  • The location where the user information is stored is transparent to the user.
  • Roles and access rights have to be standard across locations.
  • Both servers and clients should support the base protocol.
  • Units such as active cards [ACS] allow complex request/challenge interactions.

There are also some liabilities:

  • The additional messages used increase overhead, thus reducing performance for simple

requests.

  • The system is more complex than a system that directly validates clients.
slide-99
SLIDE 99

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 99

Remote Authenticator

  • Implementation: An authentication server can function as both a

forwarding server and a remote server, serving as a forwarding server for some realms and a remote server for other realms. One forwarding server can act as a forwarder for any number of remote servers. A remote server can have any number of servers forwarding to it and can provide authentication for any number of realms. One forwarding server can forward to another forwarding server to create a chain of

  • proxies. A lookup service is necessary to find the remote server.
  • Example resolved: When the US employee travels to Brazil he logs in

a Remote Authenticator/Authorizer which reroutes her requests to the US server that stores her login information.

slide-100
SLIDE 100

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 100

Known Uses Rem

  • te Authentication Dial-In User Service (RA

DIUS) is a widely deployed IETF protocol enabling centralized authentication, authorization, and accounting for netw

  • rk

access [Has02, Rig00]. Originally developed for dial-up rem

  • te access, RADIUS is now

supported by virtual private netw

  • rk (VPN

) servers, wireless access points, authenticating Ethernet switches, Digital Subscriber Line (DSL) access, and other network access types [Hil]. Figure 3 shows the typical authentication sequence of a client in a RA DIUS server using a challenge response approach.. W ith proxy RA DIUS, one RA DIUS server receives an authentication (or accounting) request from a RADIUS client (such as a NAS), forwards the request to a rem

  • te

RADIUS server, receives the reply from the rem

  • te server, and sends that reply to the
  • client. A com

m

  • n use for proxy RADIUS is roaming. Roam

ing perm its tw

  • or m
  • re

adm inistrative entities to allow each other's users to dial in to either entity's network for service.

slide-101
SLIDE 101

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 101

  • Firewalls control access from networks to

internal systems

  • Network layer firewall --analyzes packets
  • Application layer firewall -- uses

application proxies ,supports authorization,may keep state

  • Stateful inspection keeps the state of

connections

slide-102
SLIDE 102

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 102

The network

  • Contact with the outside world
  • Send and receive messages, files, web

pages,…

  • Unknown users
  • Communication mechanisms are part of the
  • perating system: ports, sockets,…
  • Layered architecture
slide-103
SLIDE 103

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 103

Internet layers

  • Layer 7 (HTTP),
  • Layer 4 (TCP, Transmission Control

Protocol),

  • Layer 3 (IP, Internet Protocol),
  • Layer 1.
  • At the higher levels, the sub-protocols used

are TCP (a connection-oriented protocol), and UDP (User Datagram Protocol)

slide-104
SLIDE 104

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 104

Secure channels

PE M , S-M IM E M ail Service S-H TT P

A pplication Protection

A pplication L ayer T ransport L ayer IP L ayer

I P C p r

  • t

e c t i

  • n

SSL PC T Process A Process B N ode 1 N ode 2 Packet protection IPSEC

slide-105
SLIDE 105

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 105

Proxy-Based Firewall Packet Filter Firewall Stateful Firewall Address Filtering Address Filtering Keep State Keep State Proxy Filtering

Firewall patterns

slide-106
SLIDE 106

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 106

Network layer firewall

Internal Server External Client

OK

Request Request P port Firewall Packet Filter Private Network

Internet

slide-107
SLIDE 107

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 107

address address Firewall RuleBase ExplicitRule DefaultRule ExternalHost LocalHost Rule in/out {ordered} * 1 1 1 * * requestService requestService

slide-108
SLIDE 108

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 108 «actor» :Network :Firewall :RuleBase :Rule :Service requestService( ) requestService( ) accept accept checkRule requestService( )

Filtering a request

slide-109
SLIDE 109

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 109

Application layer (proxy) firewall

  • Uses security proxies to represent services
  • A variety of the Proxy pattern
  • Prevents direct access
  • Analyzes application commands
  • Keeps logs for later auditing
slide-110
SLIDE 110

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 110

Application layer firewall

Internal Server External Server

P P2 P1 Request Request

Firewall Internet Private Network

slide-111
SLIDE 111

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 111

Proxy-based firewall

ExternalHost address Proxy-Based Firewall LocalHost address Proxy RuleBase name port Service * requestService represents * * * * 1 1 1 filters

slide-112
SLIDE 112

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 112

In summary

  • Firewalls are examples of the Reference

Monitor pattern applying a simple Access matrix model

  • Can be complemented with intrusion

detection

slide-113
SLIDE 113

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 113

Intrusion Detection Systems (IDS)

  • Try to detect an ongoing attack
  • React to attack
  • Can use knowledge about past attacks

(signature)

  • Can use deviations of “normal” behavior
  • Can be host-based or network-based
slide-114
SLIDE 114

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 114

How do they work?

  • Statistical anomaly detection --based on profiles of

normal user and system behavior. Events that deviate from this behavior are considered

  • suspicious. The profiles are built from past audit

logs.

  • Rules-based detection (knowledge based)-- based on

sequences of events (attack signatures), that correspond to known types of attack.

slide-115
SLIDE 115

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 115

Knowledge-based IDS pattern

Client id credentials Host address service() SignatureSet addSignature() removeSignature() updateSignature() Signature id pattern AttackDetector matchSignature() IDS requestService() detectIntrusion() issueAlert id Countermeasure execute() requestService sendRequest 1 * recover * * * * 1 1 1 1

slide-116
SLIDE 116

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 116

«actor» :Client :IDS :Detector :SignatureSet requestService() :Application matchSignature() intrusionDetected() issueAlert matchSignature() signatMatched match()

slide-117
SLIDE 117

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 117

Virtual Private Networks

  • Based on cryptographic tunneling -- from

client to server directly or through tunnel- enabled access servers

  • Tunneling protocols : Microsoft PPTP and

Cisco L2F

  • Some products do authentication of tunnel

end points

  • At level 4 (SSL) or 2(IP)
slide-118
SLIDE 118

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 118

Layer defenses

XML XML Firewall XML VPN Application Application Firewall __ Layer 7 Layer 3 Proxy-Based Firewall SSL VPN IP VPN Packet-Filter Firewall

slide-119
SLIDE 119

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 119

New patterns

  • All types of VPNs
  • IPSEC
  • SSL (TLS)
slide-120
SLIDE 120

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 120

  • Controls system resources
  • In direct contact with hardware
  • Process and processor management
  • Memory management --executing programs
  • Data management: persistent data
  • I/O devices -- disks, communications ,…
  • Controls login
slide-121
SLIDE 121

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 121

OS attacks

  • Remote login weaknesses
  • Password guessing
  • Bypass file permissions
  • Scavenge memory
  • Buffer overflow attacks
  • Denial of service attacks (resource hogging)
  • Privileged CGI scripts (in HTTP server OS)
slide-122
SLIDE 122

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 122

OS defenses

  • Memory protection (supported by hardware)
  • File protection
  • Access control for I/O devices
  • Requires good processor support for low overhead and to

avoid bypassing of high-level mechanisms

  • Capabilities and descriptors are effective mechanisms
  • Firewalls to protect access to the system
  • Authentication (part of login)
  • A well-structured architecture
slide-123
SLIDE 123

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 123

Patterns for OS secure architectures

  • Modular OS
  • Layered OS
  • Microkernel
  • Virtual machine OS
slide-124
SLIDE 124

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 124 Layered Operating System Architecture M

  • dular Operating

System Architecture M icrokernel Operating System Architecture Virtual M achine Operating System Architecture Layered Modular Operating System Architecture Layered Microkernel Operating System Architecture

Can run Can run Can run

slide-125
SLIDE 125

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 125

Layered OS

LayerN-1 Layer2 Layer1 LayerN

. . .

Client

1 1 1

<<uses>>

slide-126
SLIDE 126

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 126

Requesting a service

<<actor>> aUser:

  • penFile(…)

:OSInterface :FileManager :DiskDriver

  • penFile(…)

readDisk(…)

slide-127
SLIDE 127

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 127

Microkernel

M icrokernel

executeM echanism initCommunication findReceiver createHandle sendM essage callInternal Server

Internal Server

executeService receiveRequest

Internal Server

executeService receiveRequest

External Server

receiveRequest dispatchRequest executeService

External Server

receiveRequest dispatchRequest executeService

Adapter

callService createRequest

Adapter

callService createRequest

Client

doTask

Client

doTask activates

1

*

initialize communication

1

calls service

1 1

sends request

1

calls

1

* *

1

slide-128
SLIDE 128

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 128

Requesting a service

:C lie n t

c a ll se rv ice

:A d a p ter :M icro ke rn e l :E xte rn a lS e rv e r

cre a te re q u e s t fin d re c e iv e r re c e iv e re q u e s t in it c o m m u n ic a tio n d is p a tc h re q u e s t e xe c u te se rv ice

slide-129
SLIDE 129

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 129

VM OS

VMOS VirtualMachineMonitor VM LocalOS

Supports * * 1 * * * Can run <<controls>>

Hardware

1

LocalProcess

*

slide-130
SLIDE 130

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 130

Patterns for operating systems security

  • Controlled process creation
  • Controlled object creation
  • Authentication
  • Controlled object access (reference

monitor)

  • File access control
  • Controlled execution environment
slide-131
SLIDE 131

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 131

Secure Process Controlled Process Creator Controlled Virtual Address Space Secure Thread Authorization RBAC

(Role Based Access Control)

Administration Hierarchy

executes in defines access faster context switch authorized by specializes define rights created by

Reference Monitor

enforced by

Virtual Address Space Structure

uses

slide-132
SLIDE 132

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 132

Subject id

*

1

Resource Right VirtualAddressSpace boundaries

1

ProgramCode ProcessRight ProcessDescriptor id program_counter (pc) data

  • pen_files

registers stack child_processes pending_events accounting_info security_info state create delete store resume

* * * *

1

ReferenceMonitor pattern Authorization pattern

executes from {subset}

checkAccess

enforces

Controlled Virtual Address Space pattern

Secure Process

slide-133
SLIDE 133

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 133

Controlled-Process Creator

Process Creation_Request Controlled_Process_ Creator createProcess id create delete run_as_parent AccessRight accessType

  • bject

* * * * * 1 1 createRights «creates» parent child

slide-134
SLIDE 134

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 134

Process creation dynamics

:Process_A :Controlled_Process _Creator :Process_B :Access_Right create create createProcess rights Access_Right

slide-135
SLIDE 135

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 135

Process/domain rights

* * * * * * 1 Resource {A} name address amount Domain ID create( ) close( ) delete( ) ProtectionObject ID create ( ) close( ) delete( ) Executes In ConcreteResource Authorization right * Activates 1 Subject ID Process ID Composite Domain Simple Domain

slide-136
SLIDE 136

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 136

Process rights

  • Access Control Lists (ACLs)—defined with

each resource

  • Capabilities ---defined for each process and

kept by the process, enforced through hardware

  • Patterns under development
slide-137
SLIDE 137

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 137

Forces of file pattern

  • There may be different categories of subjects, e.g., users, roles,

and groups

  • Subjects may be authorized to access files, directories, and

workstations

  • A subject has a home directory for each authorized

workstation, but the same home directory can be shared among several workstation or among several subjects

  • Users may be grouped for access
  • Some systems may use roles instead or in addition to users as

subjects

  • There are many different implementations
slide-138
SLIDE 138

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 138

A file authorization pattern

1 * * Has_home_directory Include AuthorizedFor * * AuthorizedOn * * Subject id Workstation id Access permission accessmode Authorization priority privileges start session File Component Directory name File name size createfile() save()

slide-139
SLIDE 139

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 139

Use of subpatterns

  • This pattern uses two instances of the

Authorization Rule pattern

  • Also uses the Composite pattern (GOF)
  • A higher-level authorization rule that uses
  • bjects included in specific files can be

mapped to this level for enforcement

slide-140
SLIDE 140

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 140

  • SAML
  • XACML
  • XML Firewall

Patterns can be used to compare or understand standards

slide-141
SLIDE 141

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 141

SAMLAssertion Capability ACL Reference Monitor

enforces enforces uses

Attribute-based Access Control Abstract Solutions Concrete Solutions

isATypeOf uses

Access Matrix

implementedAs implementedAs implements

LibertyAlliance PAOS Identity Service LibertyAlliance IdentityFederation

wireless systems

Credentials Authenticator

uses enforces Published in other papers Under development Presented in this paper

Identity Federation

uses implements isA implements uses

Circle Of Trust Identity Provider

uses uses uses

Reputation System

uses

slide-142
SLIDE 142

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 142

WS1 WS2 Registry

P AYLOAD H EADE R

. . . . . .

Transports HTTP D ocu ment Storage

Web Services Business Workflow C atalog and Description C omm unicatio ns

D BM S SS L OS TCP/IP

file system memory processes BPEL4WS WSCI UDDI ebXML WSDL SOA P XML X ML

Standards Security Standards/ Specificatio ns

ebXML sec WSPL WS-Security

  • XML Encryption

XML Signature XKMS Encr yption SAM L X ACML WS-P olicy WS-Authorization UD DI security WS-Trust WS-Federation WS-SecureC onversation

S OAP XML

Web services lay ers Supporting structures

SAML WS-Privacy

slide-143
SLIDE 143

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 143

XACML

  • Special technical committee of OASIS
  • Specification of policies for information

access over the Internet and their enforcement

  • Combines work of IBM Tokyo and

University of Milano, Italy.

  • Implemented by Sun in early 2003
slide-144
SLIDE 144

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 144

Security model

P E P C H P IP P A P P D P a cce ss re q u e ste r

  • 1. a

ccess req uest

  • 2. req

uest

  • 3. X

A C M L req uest

  • 4. re

trieve policies

  • 5. po

licie s 6 . add itio nal attrib utes qu ery

  • 8. attribute

s 9 . attributes10 . X A C M L re sp

  • nse

1

  • 1. respon

se 1

  • 2. access respon

se

  • 7. additio

nal attribu tes qu ery

slide-145
SLIDE 145

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 145

A structure for enforcement

  • PEP= Policy Enforcement Point, where access

control is enforced

  • CH= Context handler, defines context or domain
  • PDP= Policy Definition Point
  • PAP= Policy Authorization Point, set of policies

to authorize request

  • PIP= Policy Information Point, additional

information

slide-146
SLIDE 146

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 146

XACML Authorization

+policyCombiningAlgorithm() PolicySet +ruleCombiningAlgorithm() Policy

  • effect={Permit,Deny}
  • condition

Rule 1 Target

  • attributes

Resource

  • attributes

Subject Action

  • attributes

Environment * * * * +addRule() +deleteRule() +updateRule() +createPolicy() +deletePolicy() +createPolicySet() +deletePolicySet() PolicyAdministrationPoint 1 *

  • obligation

PolicyComponent 1..* * * 1

slide-147
SLIDE 147

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 147

Access control evaluation

PolicyAdministrationPoint +retrieveApplicablePolicy() +evaluateApplicablePolicy()

  • policyCombiningAlgorithm

PolicyDecisionPoint PolicyEnforcementPoint evaluates PolicyComponent ApplicablePolicySet ContextHandler 1 * correspondsTo +getAttributeValue() PolicyInformationPoint

  • attributeValues

Subject

  • attributeValues

Resource 1 * 1 1 *

  • decision={Permit,Deny,Indeterminate,NotApplicable}
  • obligations

XACMLAccessResponse * * 1 1 correspondsTo * * <<creates>> requestsAccess

  • subjectAttributes
  • resourceAttributes
  • action
  • environmentAttributes

XACMLAccessRequest * * isAuthorizedFor correspondsTo

slide-148
SLIDE 148

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 148

Application firewall

  • XML firewall is a special case of it
  • Controls input/output from distributed

applications

  • Can filter wrong commands, wrong type or

length parameters, wrong sequences

slide-149
SLIDE 149

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 149

slide-150
SLIDE 150

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 150

slide-151
SLIDE 151

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 151

XML firewall

  • Controls input/output of XML applications
  • Well-formed documents (schema as

reference)

  • Harmful data (wrong type or length)
  • Encryption/decryption
  • Signed documents
slide-152
SLIDE 152

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 152

slide-153
SLIDE 153

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 153

  • Secure analysis patterns
  • Stock manager
  • Patient records
  • Medical information
slide-154
SLIDE 154

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 154

Analysis stage

Analysis patterns can be used to build the conceptual model in a more reliable and efficient way. We can build a conceptual model where repeated applications of the Authorization pattern realize the rights determined from use cases. Analysis patterns can be built with predefined authorizations according to the roles in their use cases.

slide-155
SLIDE 155

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 155

Authorized analysis patterns

  • A Sematic Analysis pattern (SAP) defines a

semantic unit corresponding to a few use cases

  • We can add instances of the Authorization

pattern

  • Examples: Authorized Stock manager,

Authorized Patient Records

slide-156
SLIDE 156

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 156 StockRoom add_StockRoom Inventory transferStock checkDiscrepancy adjDiscrepancy Stock addItem Procurement

<<role>>

Right addItem 1 1 StockKeeper

<<role>>

1 1 Item * * * * Auditor

<<role>>

Right checkDiscrepancy Right adjDiscrepancy Right Add_StockRoom Right transferStock StockManager

<<role>>

InventoryManager

<<role>>

* * * * 1

slide-157
SLIDE 157

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 157

name mainLocation

name location number size

specialty name address name address patientNumber

Patient

create(patient info ) update( patient info)

TreatmentInstance

date financialNumber initialComplaint create ( ) update ( ) close ( )

* MedicalHistory

insurance dateRange

  • pen ( )

create ( ) update ( ) close ( ) 1 name idNumber address

Employee MedicalGroup * Hospital

Right

hospitalAudit admitPatient assignAssets closeTreatmentInstance

<<role>. AdministrativeClerk

Right Right

treatPatient readTreatmentInstance updateTreatmentInstance dischargePatient specialty

Right

treatPatient readTreatmentInstance updateTreatmentInstance

<<role>> Nurse

Building * Location * * *

<<role>> Doctor <<role>> HospitalAuditor

slide-158
SLIDE 158

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 158

Design stage

User interfaces should correspond to use cases. Interfaces can be secured applying again the Authorization pattern. Secure interfaces enforce authorizations when users interact with the system. Finally, components can be secured by using JAAS rules defined according to the authorization rules for Java components or using .NET authorizations for .NET components. Deployment diagrams can define secure configurations to be used by security administrators.

slide-159
SLIDE 159

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 159

  • new

Patient

  • initialCom

plaint

  • patientNum

ber

  • patientInform

ation

  • chart
  • m

edicalH istory

  • inpat

ient

  • outpatient
  • insurance
  • dateRange

M edicalH istory

1

Treatm entInstance

  • date
  • financialN

um ber

  • initialCom

plaint * Inpatient

  • nam

e

  • address
  • patientNum

ber Patient O utpatient + create(info) + update(info) + open ( ) + create( ) + update ( ) + close ( ) + create ( ) + update ( ) + close ( ) M

  • del

O bserver A dm itPatientV iew A dm itPatientController + handleEvent( ) +adm itPatient(info)

<<role>.

Adm inistrativeClerk

1

adm itPatient assignA ssets closeTreatm entInstance Right

slide-160
SLIDE 160

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 160

Some policies for medical information

  • Patients can see their records, consent to

their use, must be informed of their use

  • A doctor or other medical employee is

responsible for use of record (custodian)

  • Records of patients with genetic or

infectious diseases must be related

slide-161
SLIDE 161

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 161

<<role>> Doctor <<role>> Patient read authorizeUse MedicalRecord read modify Custodian InChargeOf MedicalRelation informPatient * * * 1..* 1 1 Right for own Record

slide-162
SLIDE 162

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 162

OCL (Object Constraint Language)

  • Similar to Z and SQL, 1st order predicate

calculus

  • Adds precision to UML constraints
  • Implementation oriented
slide-163
SLIDE 163

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 163

read authorizeUse MedicalRecord read modify custodian InChargeOf MedicalRelationship forAll(p: PatientID-> notify(self.Log.accessor) * * * 1..* Right Patient.patientID = MedicalRecord.patientID patientID: Integer dateOfBirth: Date name: String address: String age: Integer sex:{male, female} Patient Inpatient Outpatient Inpatient Outpatient TreatmentHistory medications:String procedures:string * 1 read modify Right Doctor.LoginrID = MedicalRecord.doctorID doctorID: Integer dateOfBirth: Date name: String address: String age: Integer sex:{male, female} Doctor custodian 0..* 1 accessor: String period: String date: Date accesType Log <<role>> Patient 1 LoginID: Integer <<role>> Doctor 1 LoginID: Integer

slide-164
SLIDE 164

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 164

Right accessType deposit, withdraw, trade AcctUserRole OwnerRole creditInfo Account balance

  • pen

close trade Transaction deposit withdraw trade Right accessType Customer id 1 * * * * *

  • pen,

close

Rights for financial application

slide-165
SLIDE 165

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 165

Design model for financial application

Authenticate Branch Office Account Adapter AcctUser Right Broker Encrypt Comm. Authenticate Central Office Account Proxy AcctUser Right Account «View» Transaction View

slide-166
SLIDE 166

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 166

Secure Layers Secure Facade Secure Reflection Application Conceptual Model Policy Administration Point Policy Information Point Policy Decision Point Policy Enforcement Point Model View Controller Secure Adapter Secure Broker Secure Enterprise Component Framework Secure Web Services Secure Proxy Authentication Secure Channel Secure Client Dispatcher Server Secure Relational Database Mapping Secure Operating System defineRules enforceRules decide interact transformInterface distribute

  • bjects

consume/provideServices implement business model mapObjects accessRemote

  • bjects

support Software secure Communication establish Connection authenticate use use

slide-167
SLIDE 167

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 167

Component patterns

  • The Component Configurator lets an application

dynamically attach and detach components or processes.

  • The Interceptor allows the transparent addition of services

to an application or framework. These services are automatically invoked when certain events occur.

  • The Extension Interface defines multiple interfaces for a

component.

  • The Home pattern separates the management of

components from their use by defining an interface for creating instances of components.

slide-168
SLIDE 168

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 168

Secure component patterns

  • The Component Configurator can be used to reduce the

time when modules are exposed to attacks. Also, modules with different degrees of security could be used in the presence of attacks or for critical applications.

  • The Interceptor is useful to add security to a framework,

e.g. a CORBA-based system, if the original implementation did not have it.

  • The Extension Interface can be used to define views that

let a user or role access only some parts of the information in specific ways, according to their authorizations.

  • The Home pattern can be used to apply authorization rules

to control the creation of objects in components as it has been done in operating systems.

slide-169
SLIDE 169

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 169

Adding security to components

Component Configurator Interceptor Component Reference Monitor Extension Interface Home Authorization configurate addService implement hideComponent extend findComponent controlCreation enforce constrainInterface controlAccess

slide-170
SLIDE 170

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 170

Approach

  • To add security to a pattern, compose it with
  • ther patterns that correspond to appropriate

security mechanisms

  • The mechanisms selected depend on the

expected attacks and institution policies

slide-171
SLIDE 171

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 171

Secure Channel Broker Digital Signature Client Dispatcher Server Authentication AccessMatrix Reference Monitor RBAC confidentiality authentication authorization authorization enforces non- repudiation implementAs

Adding security to the Broker

slide-172
SLIDE 172

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 172

Secure Broker

Client Authorization Authentication Broker Client-side Proxy Servant Authorization Cryptography ServerSide Proxy Adapter 1 * * * * * * 1 1 1 1 1 1 1 1 1

slide-173
SLIDE 173

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 173

Implementation stage

This stage requires reflecting in the code the security rules defined for the application. Because these rules are expressed as classes, associations, and constraints, they can be implemented as additional classes. We also need to select specific security packages, e.g., a firewall product, a cryptographic package.

slide-174
SLIDE 174

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 174

W e b / ap p lic . s erv e r B ro w se r B ro w se r m e ssa g e en c r y p tio n I n t e rn e t cert ificat e fir ew al l cer tified a p pl ic/ O S /h a rd w are lo g g in g /p a p e r co p ies P rec in c t l o ca l v o t in g m a ch in e a u th o rize v o t es d at ab as e V P N au th e n tica te V P N V P N

  • r S S L

R em o te V o tin g M ac h i n e to ce n tr al a u th o rit y m s g . p ro tec tio n to o t h e r P re c in c t s (L A N )

slide-175
SLIDE 175

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 175

  • Patterns for RBAC implementation
  • Cryptographic patterns (Braga, Lehtonen,

Andrade)

  • Java security patterns
  • Single Point of Access (Joe Yoder)
  • Remote Authenticator/Authorizer (EF)
  • VoIP (M. Koch, EF)
  • Aspect-oriented security (Rocha, Paz)
slide-176
SLIDE 176

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 176

  • Apply patterns at each level according to

attacks

  • Determine appropriate security mechanisms

from patterns

slide-177
SLIDE 177

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 177

Mapping of authorization rules

Em ployee M fg.Em p

. . . . .

Cut

rights B O M applet I/O driver File rights O R D ER S file Encryption O R D ER S

STO RA G E A PPLICA TIO N

O R D ER S

D A TA BA SE

B O M A pplet

Rem ote site

A uth rules

U ser Cases O P. SY S. Executing program s

O rder M fg. Em p. C om ponent rights R oles

slide-178
SLIDE 178

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 178

  • Internet-based systems are very flexible, but

also very complex and changing

  • Current security is rather poor
  • We must design new systems or improve

existing systems in a systematic way

  • Proposed methodology is a good step to

build secure systems

slide-179
SLIDE 179

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 179

Future work

  • Patterns for web services standards: WS-

Policy, BPEL, WSDL

  • Patterns for database systems
  • Combination with Aspect-Oriented

Programming

  • Define precise mappings between levels
  • Cryptographic patterns
slide-180
SLIDE 180

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 180

Industry standards

WS-SecureConversation WS-Federation WS-Authorization WS-Trust WS-Privacy WS-Policy

WS-PolicyAttachments Policy Assertions

WS-PolicyFramework WS-Security SOAP Foundation

slide-181
SLIDE 181

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 181

More research

  • Refine the development method: wireless

architectures

  • Patterns for agent security
  • Authorized analysis patterns
  • Conformance of standards through patterns
  • Combination of patterns and formal methods
  • Secure reference models, considering all levels
  • Combination with fault tolerance and real-time

patterns

slide-182
SLIDE 182

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 182

Sarbanes Oxley policies

<<role>>

Broker

<<role>>

Investor

read authorizeUse

FinancialRecord

read invest Custodian InChargeOf

Relation

* * * 1..* 1 1

Right

name address ID number

Investor

for own Record contact Investor read invest

Right

for own Investor name address ID number

FinancialInstitution

1..* 1 * exchangeInfo notify Investor captureInfo

FinancialAccount

account number

*

slide-183
SLIDE 183

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 183

Tutorial History

This tutorial has been presented at:

  • IFIP WCC 1998, Vienna, Austria.
  • University of Buenos Aires, Argentina. Escuela de Ciencias Informaticas (ECI), July

2003.

  • IEEE Intern. Symp. on Advanced Distributed Systems (ISSADS), Guadalajara, MX,

January 2005 and 2006

  • IEEE Southeastcon, Fort Lauderdale, FL, April, 2005
  • Third International Workshop on Security in Information Systems (WOSIS-2005),

Miami, May 24-25, 2005

  • 5th Latin American Conference on Pattern Languages of Programs, Campos do Jordao,

Brazil, August 16-19, 2005

  • IEEE Int. Symposium on Secure Software Engineering (ISSSE.06), Arlington, VA,

March 2006.

  • Security track of the IFIP WCC 2006 (Santiago de Chile, August 2006).
  • Eigth International Symposium on System and Information Security - SSI´2006,

November 08-10, 2006. http://www.ssi.org.br/english/

  • IARIA’s Joint Third International Conference on Wireless and Mobile Communitions

(ICWM 2007) and Second International Multi-Conference on Computing in the Global Information Technology, Guadaloupe, French Carbbean, March 4-9, 2007 http://www.iaria.org

  • 45th ACM Southeast Conference (ACMSE 2007), March 23-24, 2007, Winston-Salem,

North Carolina, http://acmse2007.wfu.edu

slide-184
SLIDE 184

ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 184

Questions?

  • Dr. Eduardo B. Fernandez and Dr. Maria Larrondo Petrie
  • Dept. of Computer Science and Eng.

Florida Atlantic University 777 Glades Rd Boca Raton , FL 33431

  • Tel. (561) 297-3466, 297-3400

Fax (561) 297-2800 ed@cse.fau.edu, petrie@fau.edu http://www.cse.fau.edu/~security