SlideShare a Scribd company logo
1 of 184
Download to read offline
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
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
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
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-
oriented 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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
5
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
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
8
• Web services
• Application security
• Distributed and web systems
• More security patterns
• Conclusions
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
9
• Objectives
• Countermeasures
• Security architectures
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
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
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
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
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
15
Basic security architecture
• Authentication happens first
• Authorization rules define what is allowed
or 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
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
17
• Basic architecture
• Documents
• New architectures
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.
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
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
21
Basic Internet architecture
Web
browser’s
HTML
Web
servers
HTTP
Data
users
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
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
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.
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
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)
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
27
Web Services Repository
Publicize
Use
Discover1
2
3
Web Services
Provider
Web Services
Client
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
29
WS1 WS2 Registry
PAYLOADHEADER
. . .
. . .Transports
HTTP
Web Services
Business
Workflow
Catalog and
Description
Communications
DBMS
SSL
OS
TCP/IP file systemmemoryprocesses
Web services layers
Supporting structures
Document
Storage
. . .
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
31
• Methods
• Types
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
32
Pero a veces me
encontraba perdido en la
oscuridad o tenia la
impresion de enemigos
escondidos…Quienes eran
esas gentes y que querian?
E. Sabato, “El tunel” (Seix
Barral, 1978, p. 58)
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.
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)
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
35
Attackers
• Insiders -- According to studies about half
of the attacks to a system come from
insiders.
• Hackers -- Usually try to show off their
ability by penetrating systems
• Spies -- Industrial or government spionage
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
occurrence of an attack
• Complexity brings along more
vulnerabilities
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
of the software used in systems and
application software
• We need a systematic way to build secure
software
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
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
objective, 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
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
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
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 ManagerExternal
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 ManagerExternal
Attacker
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
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
45
Trabajo desde hace an~os en la Unesco y otros
organismos 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
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
operating systems
• Not practical for general systems, valid for
specific parts
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
48
A
a. m1 b. m2 c. m3
classes Metalayer
objects
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
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
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
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
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
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
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
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
56
We start from policies
• The policies of an institution define its way
of accomplishing its objectives
• Security policies define its way to protect its
information
• Without policies we don’t know what we
should protect
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.
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
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
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
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
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
only 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.
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
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 object_k object_k + 1
.
.
.
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
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
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,…
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
69
WS1 WS2
Registry
P AYLOADH 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 systemmemoryprocesses
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
70
• Classification
• Access matrix
• Role-Based Access Control
• Multilevel security
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
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
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
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
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
objects
U1 F1
Ui Fi
. .
miUj
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.
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
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
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
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
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
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
*
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
84
Metadata-based access control
Subject
Descriptor
Object
Descriptor
Attribute Property
Attribute
Qualifier
operator
value
Property
Qualifier
operator
value
ObjectSubject
*
1
1
*
* *
Right
accessType
isAuthorized
For
AttributeValue
value
*
* *
*
1
PropertyValue
value
*
*
1
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
on rules defined by the Bell-LaPadula model,
while for integrity, the rules are defined by Biba’s
model
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
AssignLevelAssignLevel
*
* *
*
1
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
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
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
only 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.
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
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
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
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.
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.
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.
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
* *
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()
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.
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.
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
100
KnownUses
Remote Authentication Dial-In User Service (RADIUS) is a widely deployed IETF
protocol enabling centralized authentication, authorization, and accounting for network
access [Has02, Rig00]. Originally developed for dial-up remote access, RADIUS is now
supported by virtual private network (VPN) servers, wireless access points,
authenticating Ethernet switches, Digital Subscriber Line (DSL) access, and other
networkaccess types [Hil]. Figure3shows thetypical authenticationsequenceofa client
inaRADIUSserver usingachallengeresponseapproach..
With proxy RADIUS, one RADIUS server receives an authentication (or accounting)
request from a RADIUS client (such as a NAS), forwards the request to a remote
RADIUS server, receives the reply fromthe remote server, and sends that reply to the
client. A common use for proxy RADIUS is roaming. Roaming permits two or more
administrative entities to alloweach other's users to dial in to either entity's network for
service.
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
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
operating system: ports, sockets,…
• Layered architecture
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)
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
IPC protection
SSL
PC T
Process A
Process B
N ode 1 N ode 2
Packet protection
IPSEC
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
106
Network layer firewall
Internal
Server
External
Client
OKRequest Request
P
port
Firewall
Packet
Filter
Private
Network
Internet
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
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
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
110
Application layer firewall
Internal
Server
External
ServerP P2 P1
Request Request
Firewall
Internet
Private
Network
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
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
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
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.
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
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()
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)
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 VPNPacket-Filter Firewall
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
119
New patterns
• All types of VPNs
• IPSEC
• SSL (TLS)
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
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)
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
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
124
LayeredOperating
SystemArchitecture
Modular Operating
SystemArchitecture
Microkernel Operating
SystemArchitecture
Virtual Machine
Operating
SystemArchitecture
LayeredModular
Operating
SystemArchitecture
LayeredMicrokernel
Operating
SystemArchitecture
Canrun
Canrun
Canrun
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
125
Layered OS
LayerN-1
Layer2
Layer1
LayerN
.
.
.
Client
1
1
1
<<uses>>
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
126
Requesting a service
<<actor>>
aUser:
openFile(…)
:OSInterface :FileManager :DiskDriver
openFile(…)
readDisk(…)
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
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
129
VM OS
VMOS
VirtualMachineMonitor VM
LocalOSSupports *
*
1 *
*
*
Can run
<<controls>>
Hardware
1
LocalProcess
*
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
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
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
open_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
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
object
*
*
*
*
*
1
1
createRights
«creates»
parent
child
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
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
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
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
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()
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
objects included in specific files can be
mapped to this level for enforcement
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
141
SAMLAssertion
CapabilityACL
Reference
Monitor
enforcesenforces
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
142
WS1 WS2
Registry
P AYLOADH 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 systemmemoryprocesses
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
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
144
Security model
PEP CH PIP
PAP
PDP
access
requester
1.accessrequest 2.request
3.XACML
request
4.retrieve
policies
5.policies
6.additional
attributes
query
8.attributes
9.attributes
10.XACML
response
11.response12.accessresponse
7.additional
attributes
query
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
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
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
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
149
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
150
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
152
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
153
• Secure analysis patterns
• Stock manager
• Patient records
• Medical information
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.
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
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
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
open ( )
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
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.
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
159
-newPatient
-initialComplaint
-patientNumber
-patientInformation
-chart
-medicalHistory
-inpatient
-outpatient
- insurance
- dateRange
MedicalHistory
1
TreatmentInstance
-date
-financialNumber
- initialComplaint
*
Inpatient
-name
-address
- patientNumber
Patient
Outpatient
+create(info)
+update(info)
+open()
+create()
+update()
+close()
+create()
+update()
+close()
Model
Observer
AdmitPatientView AdmitPatientController
+handleEvent()
+admitPatient(info)
<<role>.
AdministrativeClerk 1
admitPatient
assignAssets
closeTreatmentInstance
Right
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
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
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
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
InpatientOutpatient InpatientOutpatient
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
164
Right
accessType deposit,
withdraw,
trade
AcctUserRole OwnerRole
creditInfo
Account
balance
open
close
trade
Transaction
deposit
withdraw
trade
Right
accessType
Customer
id
1
*
* *
*
*
open,
close
Rights for financial application
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
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
objects consume/provideServices
implement
business
model
mapObjects accessRemote
objects
support
Software
secure
Communication
establish
Connection
authenticate
use
use
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.
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.
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
ICWMC/ICCGI 2007
Guadaloupe, French Caribbean, IARIA, 4-9 March 2007
170
Approach
• To add security to a pattern, compose it with
other patterns that correspond to appropriate
security mechanisms
• The mechanisms selected depend on the
expected attacks and institution policies
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
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
11
1
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.
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
ap plic/ 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
or 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 )
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)
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
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
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
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
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
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
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
*
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
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

More Related Content

Similar to Tutorial security patterns

Database Security – Issues and Best PracticesOutline
Database Security – Issues and Best PracticesOutlineDatabase Security – Issues and Best PracticesOutline
Database Security – Issues and Best PracticesOutlineOllieShoresna
 
Redrawing the Cyber Defense Frontier
Redrawing the Cyber Defense FrontierRedrawing the Cyber Defense Frontier
Redrawing the Cyber Defense FrontierJoe Hage
 
Chapter 1 overview
Chapter 1 overviewChapter 1 overview
Chapter 1 overviewali raza
 
Educause Annual 2007
Educause Annual 2007Educause Annual 2007
Educause Annual 2007Neil Matatall
 
Evolving Domains, Problems and Solutions for Long Term Digital Preservation
Evolving Domains, Problems and Solutions for Long Term Digital PreservationEvolving Domains, Problems and Solutions for Long Term Digital Preservation
Evolving Domains, Problems and Solutions for Long Term Digital PreservationSCAPE Project
 
Emc vi pr global data services
Emc vi pr global data servicesEmc vi pr global data services
Emc vi pr global data servicessolarisyougood
 
CCNA_Security_01.ppt
CCNA_Security_01.pptCCNA_Security_01.ppt
CCNA_Security_01.pptveracru1
 
Network Security for Computer science and Engineering.ppt
Network Security for Computer science and Engineering.pptNetwork Security for Computer science and Engineering.ppt
Network Security for Computer science and Engineering.pptAkfeteAssefa
 
Cyber Security_Presentation_KTH
Cyber Security_Presentation_KTHCyber Security_Presentation_KTH
Cyber Security_Presentation_KTHAwais Shibli
 
ECS/Cloud Object Storage - DevOps Day
ECS/Cloud Object Storage - DevOps DayECS/Cloud Object Storage - DevOps Day
ECS/Cloud Object Storage - DevOps DayBob Sokol
 
Storage training promo v1
Storage training promo v1Storage training promo v1
Storage training promo v1DataLifeCycle
 
2013 05-15 Intro to Archivematica - UBC SLAIS Digital Records Forensics Class
2013 05-15 Intro to Archivematica - UBC SLAIS Digital Records Forensics Class2013 05-15 Intro to Archivematica - UBC SLAIS Digital Records Forensics Class
2013 05-15 Intro to Archivematica - UBC SLAIS Digital Records Forensics ClassCourtney Mumma
 
EDRM Foundational e-Discovery Practices-ilta
EDRM Foundational e-Discovery Practices-iltaEDRM Foundational e-Discovery Practices-ilta
EDRM Foundational e-Discovery Practices-iltaDavid Kearney
 
Hybrid Cryptography Algorithm Based Secured Storage Android App
Hybrid Cryptography Algorithm Based Secured Storage Android AppHybrid Cryptography Algorithm Based Secured Storage Android App
Hybrid Cryptography Algorithm Based Secured Storage Android AppIRJET Journal
 
Securing, storing and enabling safe access to data
Securing, storing and enabling safe access to dataSecuring, storing and enabling safe access to data
Securing, storing and enabling safe access to dataRobin Rice
 
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsMySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsOlivier DASINI
 
Data wharehouse project
Data wharehouse projectData wharehouse project
Data wharehouse projectMohit Suri
 
System Approach for Single Keyword Search for Encrypted Data Files Guarantees...
System Approach for Single Keyword Search for Encrypted Data Files Guarantees...System Approach for Single Keyword Search for Encrypted Data Files Guarantees...
System Approach for Single Keyword Search for Encrypted Data Files Guarantees...IRJET Journal
 

Similar to Tutorial security patterns (20)

Database Security – Issues and Best PracticesOutline
Database Security – Issues and Best PracticesOutlineDatabase Security – Issues and Best PracticesOutline
Database Security – Issues and Best PracticesOutline
 
Redrawing the Cyber Defense Frontier
Redrawing the Cyber Defense FrontierRedrawing the Cyber Defense Frontier
Redrawing the Cyber Defense Frontier
 
An Introduction to Digital Preservation
An Introduction to Digital PreservationAn Introduction to Digital Preservation
An Introduction to Digital Preservation
 
Chapter 1 overview
Chapter 1 overviewChapter 1 overview
Chapter 1 overview
 
Educause Annual 2007
Educause Annual 2007Educause Annual 2007
Educause Annual 2007
 
Evolving Domains, Problems and Solutions for Long Term Digital Preservation
Evolving Domains, Problems and Solutions for Long Term Digital PreservationEvolving Domains, Problems and Solutions for Long Term Digital Preservation
Evolving Domains, Problems and Solutions for Long Term Digital Preservation
 
Emc vi pr global data services
Emc vi pr global data servicesEmc vi pr global data services
Emc vi pr global data services
 
CCNA_Security_01.ppt
CCNA_Security_01.pptCCNA_Security_01.ppt
CCNA_Security_01.ppt
 
Network Security for Computer science and Engineering.ppt
Network Security for Computer science and Engineering.pptNetwork Security for Computer science and Engineering.ppt
Network Security for Computer science and Engineering.ppt
 
Cyber Security_Presentation_KTH
Cyber Security_Presentation_KTHCyber Security_Presentation_KTH
Cyber Security_Presentation_KTH
 
ECS/Cloud Object Storage - DevOps Day
ECS/Cloud Object Storage - DevOps DayECS/Cloud Object Storage - DevOps Day
ECS/Cloud Object Storage - DevOps Day
 
Turtles, Trust and The Future of Cybersecurity
Turtles, Trust and The Future of Cybersecurity Turtles, Trust and The Future of Cybersecurity
Turtles, Trust and The Future of Cybersecurity
 
Storage training promo v1
Storage training promo v1Storage training promo v1
Storage training promo v1
 
2013 05-15 Intro to Archivematica - UBC SLAIS Digital Records Forensics Class
2013 05-15 Intro to Archivematica - UBC SLAIS Digital Records Forensics Class2013 05-15 Intro to Archivematica - UBC SLAIS Digital Records Forensics Class
2013 05-15 Intro to Archivematica - UBC SLAIS Digital Records Forensics Class
 
EDRM Foundational e-Discovery Practices-ilta
EDRM Foundational e-Discovery Practices-iltaEDRM Foundational e-Discovery Practices-ilta
EDRM Foundational e-Discovery Practices-ilta
 
Hybrid Cryptography Algorithm Based Secured Storage Android App
Hybrid Cryptography Algorithm Based Secured Storage Android AppHybrid Cryptography Algorithm Based Secured Storage Android App
Hybrid Cryptography Algorithm Based Secured Storage Android App
 
Securing, storing and enabling safe access to data
Securing, storing and enabling safe access to dataSecuring, storing and enabling safe access to data
Securing, storing and enabling safe access to data
 
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirementsMySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
MySQL Day Paris 2018 - MySQL & GDPR; Privacy and Security requirements
 
Data wharehouse project
Data wharehouse projectData wharehouse project
Data wharehouse project
 
System Approach for Single Keyword Search for Encrypted Data Files Guarantees...
System Approach for Single Keyword Search for Encrypted Data Files Guarantees...System Approach for Single Keyword Search for Encrypted Data Files Guarantees...
System Approach for Single Keyword Search for Encrypted Data Files Guarantees...
 

Recently uploaded

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

Tutorial security patterns

  • 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
  • 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
  • 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
  • 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- oriented 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
  • 5. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 5
  • 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
  • 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
  • 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
  • 9. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 9 • Objectives • Countermeasures • Security architectures
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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 or 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
  • 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
  • 17. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 17 • Basic architecture • Documents • New architectures
  • 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.
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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.
  • 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
  • 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)
  • 27. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 27 Web Services Repository Publicize Use Discover1 2 3 Web Services Provider Web Services Client
  • 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
  • 29. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 29 WS1 WS2 Registry PAYLOADHEADER . . . . . .Transports HTTP Web Services Business Workflow Catalog and Description Communications DBMS SSL OS TCP/IP file systemmemoryprocesses Web services layers Supporting structures Document Storage . . .
  • 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
  • 31. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 31 • Methods • Types
  • 32. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 32 Pero a veces me encontraba perdido en la oscuridad o tenia la impresion de enemigos escondidos…Quienes eran esas gentes y que querian? E. Sabato, “El tunel” (Seix Barral, 1978, p. 58)
  • 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.
  • 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)
  • 35. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 35 Attackers • Insiders -- According to studies about half of the attacks to a system come from insiders. • Hackers -- Usually try to show off their ability by penetrating systems • Spies -- Industrial or government spionage
  • 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 occurrence of an attack • Complexity brings along more vulnerabilities
  • 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 of the software used in systems and application software • We need a systematic way to build secure software
  • 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
  • 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 objective, 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
  • 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
  • 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
  • 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 ManagerExternal 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 ManagerExternal Attacker
  • 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
  • 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
  • 45. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 45 Trabajo desde hace an~os en la Unesco y otros organismos 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
  • 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 operating systems • Not practical for general systems, valid for specific parts
  • 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
  • 48. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 48 A a. m1 b. m2 c. m3 classes Metalayer objects 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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 of accomplishing its objectives • Security policies define its way to protect its information • Without policies we don’t know what we should protect
  • 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.
  • 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
  • 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
  • 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
  • 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
  • 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 only 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.
  • 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
  • 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 object_k object_k + 1 . . .
  • 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
  • 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
  • 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,…
  • 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
  • 69. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 69 WS1 WS2 Registry P AYLOADH 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 systemmemoryprocesses 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
  • 70. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 70 • Classification • Access matrix • Role-Based Access Control • Multilevel security
  • 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
  • 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
  • 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
  • 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
  • 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 objects U1 F1 Ui Fi . . miUj
  • 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.
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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 *
  • 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
  • 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 operator value Property Qualifier operator value ObjectSubject * 1 1 * * * Right accessType isAuthorized For AttributeValue value * * * * 1 PropertyValue value * * 1
  • 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 on rules defined by the Bell-LaPadula model, while for integrity, the rules are defined by Biba’s model
  • 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 AssignLevelAssignLevel * * * * 1
  • 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
  • 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
  • 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 only 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.
  • 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
  • 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
  • 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
  • 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.
  • 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.
  • 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.
  • 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 * *
  • 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()
  • 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.
  • 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.
  • 100. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 100 KnownUses Remote Authentication Dial-In User Service (RADIUS) is a widely deployed IETF protocol enabling centralized authentication, authorization, and accounting for network access [Has02, Rig00]. Originally developed for dial-up remote access, RADIUS is now supported by virtual private network (VPN) servers, wireless access points, authenticating Ethernet switches, Digital Subscriber Line (DSL) access, and other networkaccess types [Hil]. Figure3shows thetypical authenticationsequenceofa client inaRADIUSserver usingachallengeresponseapproach.. With proxy RADIUS, one RADIUS server receives an authentication (or accounting) request from a RADIUS client (such as a NAS), forwards the request to a remote RADIUS server, receives the reply fromthe remote server, and sends that reply to the client. A common use for proxy RADIUS is roaming. Roaming permits two or more administrative entities to alloweach other's users to dial in to either entity's network for service.
  • 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
  • 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 operating system: ports, sockets,… • Layered architecture
  • 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)
  • 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 IPC protection SSL PC T Process A Process B N ode 1 N ode 2 Packet protection IPSEC
  • 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
  • 106. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 106 Network layer firewall Internal Server External Client OKRequest Request P port Firewall Packet Filter Private Network Internet
  • 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
  • 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
  • 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
  • 110. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 110 Application layer firewall Internal Server External ServerP P2 P1 Request Request Firewall Internet Private Network
  • 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
  • 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
  • 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
  • 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.
  • 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
  • 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()
  • 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)
  • 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 VPNPacket-Filter Firewall
  • 119. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 119 New patterns • All types of VPNs • IPSEC • SSL (TLS)
  • 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
  • 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)
  • 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
  • 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
  • 124. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 124 LayeredOperating SystemArchitecture Modular Operating SystemArchitecture Microkernel Operating SystemArchitecture Virtual Machine Operating SystemArchitecture LayeredModular Operating SystemArchitecture LayeredMicrokernel Operating SystemArchitecture Canrun Canrun Canrun
  • 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>>
  • 126. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 126 Requesting a service <<actor>> aUser: openFile(…) :OSInterface :FileManager :DiskDriver openFile(…) readDisk(…)
  • 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
  • 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
  • 129. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 129 VM OS VMOS VirtualMachineMonitor VM LocalOSSupports * * 1 * * * Can run <<controls>> Hardware 1 LocalProcess *
  • 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
  • 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
  • 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 open_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
  • 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 object * * * * * 1 1 createRights «creates» parent child
  • 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
  • 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
  • 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
  • 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
  • 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()
  • 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 objects included in specific files can be mapped to this level for enforcement
  • 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
  • 141. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 141 SAMLAssertion CapabilityACL Reference Monitor enforcesenforces 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
  • 142. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 142 WS1 WS2 Registry P AYLOADH 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 systemmemoryprocesses 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
  • 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
  • 144. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 144 Security model PEP CH PIP PAP PDP access requester 1.accessrequest 2.request 3.XACML request 4.retrieve policies 5.policies 6.additional attributes query 8.attributes 9.attributes 10.XACML response 11.response12.accessresponse 7.additional attributes query
  • 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
  • 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
  • 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
  • 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
  • 149. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 149
  • 150. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 150
  • 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
  • 152. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 152
  • 153. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 153 • Secure analysis patterns • Stock manager • Patient records • Medical information
  • 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.
  • 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
  • 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
  • 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 open ( ) 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
  • 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.
  • 159. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 159 -newPatient -initialComplaint -patientNumber -patientInformation -chart -medicalHistory -inpatient -outpatient - insurance - dateRange MedicalHistory 1 TreatmentInstance -date -financialNumber - initialComplaint * Inpatient -name -address - patientNumber Patient Outpatient +create(info) +update(info) +open() +create() +update() +close() +create() +update() +close() Model Observer AdmitPatientView AdmitPatientController +handleEvent() +admitPatient(info) <<role>. AdministrativeClerk 1 admitPatient assignAssets closeTreatmentInstance Right
  • 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
  • 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
  • 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
  • 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 InpatientOutpatient InpatientOutpatient 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
  • 164. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 164 Right accessType deposit, withdraw, trade AcctUserRole OwnerRole creditInfo Account balance open close trade Transaction deposit withdraw trade Right accessType Customer id 1 * * * * * open, close Rights for financial application
  • 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
  • 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 objects consume/provideServices implement business model mapObjects accessRemote objects support Software secure Communication establish Connection authenticate use use
  • 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.
  • 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.
  • 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
  • 170. ICWMC/ICCGI 2007 Guadaloupe, French Caribbean, IARIA, 4-9 March 2007 170 Approach • To add security to a pattern, compose it with other patterns that correspond to appropriate security mechanisms • The mechanisms selected depend on the expected attacks and institution policies
  • 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
  • 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 11 1
  • 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.
  • 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 ap plic/ 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 or 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 )
  • 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)
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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 *
  • 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
  • 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