9. Security Mediation Intelligent Information Systems Gio Wiederhold EPFL,

advertisement
Intelligent Information Systems
9. Security Mediation
Gio Wiederhold
EPFL,
April-June 2000, at 14:15 - 15:15, room INJ 218
Schedule
Presentations in English -- but I'll try to manage discussions in French and/or German.
1. 13/4 Historical background, enabling technology:ARPA, Internet, DB, OO, AI., IR
2. 27/4 Search engines and methods (recall, precision, overload, semantic problems).
3. 4/5 Digital libraries, information resources. Value of services, copyright.
4. 11/5 E-commerce. Client-servers. Portals. Payment mechanisms, dynamic pricing.
5. 19/5 Mediated systems. Functions, interfaces, and standards. Intelligence in
processing. Role of humans and automation, maintenance.
6. 26/5 Software composition. Distribution of functions. Parallelism. [ww D.Beringer]
7. 31/5 Application to Bioinformatics.
8. 15/6 Semantic Interoperation
9. 22/6 Privacy protection and security. Security mediation.
10.29/6 Educational challenges. Expected changes in teaching and learning.
Summary and projection for the future.
• Feedback and comments are appreciated.
7/26/2016
EPFL9security - Gio spring 2000
2
Components
• Reliability
– crucial base, but never perfect
Focus here
• Security
– definition of owners, objects, rights, boundaries
• Privacy protection
– prevention from public view of personal data*
* as deemed by the owner
– assurance of availability of public data*
7/26/2016
EPFL9security - Gio spring 2000
3
Assurance of availability
An essential aspect of an open society
• permits false information to be distributed
– readers must be wary
– not everything on a computer screen is truth
– libel is hard, perhaps impossible to prevent legally
• Good stuff should be known to others
– defense against libel
• make your information at least as accessible as
libelous information -- perhaps use same terms
We should all live equally good/bad lives
7/26/2016
EPFL9security - Gio spring 2000
4
FTC financial privacy [www.ftc.gov]
• Ontology: a common security language
– ISO 15408 June 1999
• international
– 13 countries – common, helpful for vendors
• Components
– functional reqs,
– assurance req (7 levels SSC like)
– protection profiles – user need,
security targets
7/26/2016
EPFL9security - Gio spring 2000
5
Security: protection and assurance
Crucial progress in protection is being made:
Remote Transmission
Authentication
Firewalls around domains
protect against enemies.
Much research based on Cryptography
Dominant approach for Data
• Authenticate Customer
• Validate query against database schema
• If both O.K., process query and ship results
firewall
customer
result
query
sources
authentication
7/26/2016
database access &
authorization agent
EPFL9security - Gio spring 2000
7
Remaining Issue:
Assuring Secure Collaboration
Not versus enemies,
but among colleagues and payers
who need to share some,
but not all information
7/26/2016
EPFL9security - Gio spring 2000
8
Collaboration Needs:
Medical Records Insurance Company
Medical Records Medical Researchers
Manufacturer’s Specs Subcontractor
Intelligence Data Front-line soldier
7/26/2016
EPFL9security - Gio spring 2000
9
The Gap: Assumption that
Access right = Retrievable data
• Access rights assume a certain partitioning of data
• Domain data are partitioned accord to internal needs
• They only match in simple cases / artificial examples
firewall
customer
result
query
authentication
database access &
authorization agent
7/26/2016
EPFL9security - Gio spring 2000
data sources are
rarely perfectly
matched to all
access rights
10
False Assumption
Data in the files of an enterprise
are organized according
to external access rights
Inefficient and risky for
an enterprise
which uses information
mainly internally
and then
must serve external needs
7/26/2016
EPFL9security - Gio spring 2000
11
Laboratory staff
Clinics
Laboratory
Accounting
Accreditation
Access Patterns versus Data:
Patient
Physician
Pharmacy
Inpatient
Billing
Insurance Carriers
Ward
staff
Etc..
CDC
7/26/2016
EPFL9security - Gio spring 2000
12
Healthcare
Expected Problems
Query can not specify object precisely
Relevant history for low-weight births
(helpful database gets extra stuff)
Objects (N) are not organized according to all
possible access classifications (a) = (Na)
Patients with heart problems, but not HIV
Some objects cover multiple classes
Patient with stroke and HIV
Some objects are misfiled (happens easily to others),
costly/impossible to guarantee avoidance
Psychiatric data in patient with alcoholism
7/26/2016
EPFL9security - Gio spring 2000
13
Securing Collaboration
Collaborator
source query
certified result
Security Filter
certified query
Logs
unfiltered result
Private Patient Data
7/26/2016
EPFL9security - Gio spring 2000
14
Filling the Gap
Check the content
of the result before
it leaves the firewall
firewall
result
Security mediator :
Human & software
agent module
query
7/26/2016
EPFL9security - Gio spring 2000
15
Security Mediator
• Software module, intermediate between
"customers" and databases within firewall
• Resides on security's officer's machine
(may have to be multi-level secure);
accessed via firewall protection by customers
• Under control of security officer,
via simple security-specific rules
• Performs bidirectional screening
(queries and results)
7/26/2016
EPFL9security - Gio spring 2000
16
Agents and Privacy
Agents help customers obtain information,
but their help can create leaks
We also need agents to protect information
results returned must still satisfy rules
customer
result
protective
agent
query
firewall
source
helpful access agent
7/26/2016
EPFL9security - Gio spring 2000
17
:-(
Security Officer
• Profile
– Human responsible for database security/privacy policies
– Must balance data availability vs. data security/privacy
• Tasks (current)
– Advises staff on how to try to follow policy
– Investigates violations to find & correct staff failures
– Has currently no tools
• Tasks (with mediators)
– Defines and enters policy rules in security mediator
– Monitors exceptions, especially violations
– Monitors operation, to obtain feedback for improvements
7/26/2016
EPFL9security - Gio spring 2000
18
Assigning the Responsibility
:-)
• Database Administrator
– Can create views limiting access in RDMSs
– Prime role is to assure convenient data access
– Can restrict incoming and outgoing IP addresses
– Prime role is to keep network up and
connected to the Internet
– Prime responsibility is security & privacy protection
– Implements security policy
– Interacts with database & network administrators
7/26/2016
EPFL9security - Gio spring 2000
:-(
• Specialist Security Officer
:-|
• Network Administrator
19
Example: Mediation for Privacy
Public Health Application
CDC
• Needs valid statistical data
• No access to private data
source
certified
query
Security Mediator
result
• Owned by hospital security officer
Security
Logs
• Screens query and result
Mediator
• Default is Manual operation
• Evolves by adding rules
certified
unfiltered
query
Physicians’ Databases
result
• Valuable resources
Private Patient Data
• Need to be aggregated
for significance
7/26/2016
EPFL9security - Gio spring 2000
20
Roles must be distinct
:-(
•
Security officer manages security policy,
not a computer specialist or database administrator.
-)
oo•
Computer specialist provides tools
agent workstation program for security mediation
•
Healthcare institution defines policies
its security officer uses the program as the tool
• Tool provides logging for
– system improvements
– audit trail
– accountability
• Formalizes ad-hoc practices
7/26/2016
EPFL9security - Gio spring 2000
21
Overall Schematic
Firewall
External
Customer
7/26/2016
Security
Officer's
Mediator
System
Database
Internal
Customer
Network
EPFL9security - Gio spring 2000
22
Security Officer Functions
:-(
Security Officer
• defines rules for pass-through of requests
• any request not covered by a rule is shown
• shown requests can be edited and passed
(Passed requests are moved to the base for execution)
• defines rules for pass-through of results
• any result not covered by a rule is shown
• shown results can be edited and passed
(Passed results are moved to the top and made available)
All actions are logged for periodic review
Gio Wiederhold TIHI Oct96 23
7/26/2016
EPFL9security - Gio spring 2000
23
Rules implement policy
• Tight security policy:
–
–
–
–
–
simple rules
many requests/responses referred to security officer
much information output denied by security officer
low risk
poor public and community physician relations
• Liberal but careful security policy
–
–
–
–
–
complex rules
few requests/responses referred to security officer
of remainder, much information output denied by security officer
low risk
good public and community physician relations
• Sloppy security policy
–
–
–
–
–
simple rules
few requests/responses referred to security officer
little information output denied by security officer
high risk
unpredictable public and community physician relations
7/26/2016
EPFL9security - Gio spring 2000
24
Coverage of Access Paths
Security officer
:-(
Authentication
based
good/bad control
prior use
good guy
Security Mediator
security
needs
-)
Database oo
administrator
good
query DB schemabased
O.K.
control
ancillary
information
validated
to be O.K.
history
result is
likely O.K.
processable query
performance,
function requests
7/26/2016
Database
EPFL9security - Gio spring 2000
25
Hardware
• Computer workstation
– UNIX and NT implementation
– external access through firewall
? firewall can provide authentication
– internal access to database(s) that contain
releasable information
? multi (two)-level security provision
– internal storage, inside firewall:
• rules defining cliques - external roles
• log of accepted and denied requests
• mediator software
7/26/2016
EPFL9security - Gio spring 2000
26
Software Components
service
maintenance
support
7/26/2016
• Rule interpreter
• Primitives to support rule execution
•
•
•
•
•
Rule maintenance tools
Log analysis tool
Firewall interface
Domain database interface
Logger
EPFL9security - Gio spring 2000
27
Rule system
• Optional: without rules every interaction
goes to the security officer (in & out)
• Creates efficiency: routine requests will be
covered by rules: 80%instances / 20%types
• Assures Security officer of control: rules
can be incrementally added/deleted/analyzed
• Primitives simplify rule specification:
source, transmit date/time, prior request, ...
7/26/2016
EPFL9security - Gio spring 2000
28
Primitives
Selected by rule for various clique roles
• Allow / disallow values
• Allow / disallow value ranges
• Limit results to approved vocabulary
• Disallow output containing bad words
• Limit output to times, places
• Limit number of queries per period
• Extract words from images
• Etc.
• not yet: Noun phrase extraction and matching
7/26/2016
EPFL9security - Gio spring 2000
29
Creating Wordlists
TIHI is Paranoid
• Text filtering primarily based on Good-word lists
– Created by processing examples of O.K.
responses
– augmented by terms found objectionable by
system but approved by security officer
• Future work
– use nounphrases to increase specificity
– image filtering
7/26/2016
EPFL9security - Gio spring 2000
30
Application of Rules
authenticated ID
Query
Checking
Query
Parse Query
External
Data
Requestor
Firewall
failure
error
rule
customer advice
7/26/2016
edits
ancillary
information
Execute
Query
SO
results
authenticated ID
cleared results
Results
success
else
else
Result
checking
EPFL9security - Gio spring 2000
edits
Gio Wiederhold TIHI Oct96 31
31
Rule Type Examples
•
•
•
•
•
•
•
add_user user_name clique_name
(Set-up)
del_user user_name clique_name
(Set-up)
add_segment table.column
segment_name (Set-up)
del_segment
table.column
segment_name (Set-up)
set_stat_only clique_name
true/false
(Pre)
limit_queries_per_session x
clique_name
(Pre)
limit_clique_to_segment clique_name segment_name (Pre)
•
•
•
•
•
limit_min_rows_retrieved x clique_name
limit_num_queries
x segment_name
validate_text
table.column x good_words
set_randomize_clique
clique_name true/false
set_randomize_segment segment_name true/false
7/26/2016
EPFL9security - Gio spring 2000
(Post)
(Post)
(Post)
(Post)
(Post)
32
Agent System Differences DBA/SO
-)
 Be helpful to customer  Be helpful to security off.
 Tell cust. re problems,  Tell sec.off. re problems,
sec.off. may contact cust.
oo
query may be fixed
 Exploit customer inform.
 Exploit DB meta-data
 Use history of usage
 Isolate transactions
 Ship result to sec.off.
 Ship result to customer with result description
(source, cardinality)
:-(
Finding: the differences are greater
than we imagined initially
7/26/2016
EPFL9security - Gio spring 2000
33
A mediator is not just
static software
Application
Interface
Changes of
user needs
Software & People
Models, programs,
rules, caches, . . .
Resource Interfaces
Owner/ Creator
Maintainer
Lessor - Seller
Advertiser
Domain
changes
Resource
changes
Gio Wiederhold TIHI Oct96 34
7/26/2016
EPFL9security - Gio spring 2000
34
Assigning the Responsibility
 Database Administrator
:-)
– Can create views limiting access in RDMSs
– Prime role is to assure convenient data access
 Network Administrator
– Prime responsibility is security & privacy protection
– Implements security policy
– Interacts with database & network administrators
7/26/2016
EPFL9security - Gio spring 2000
:-(
 Specialist Security Officer
:-|
– Can restrict incoming and outgoing IP addresses
– Prime role is to keep network up and
connected to the Internet
35
Scalability
A security mediator
• Can handle multiple roles
– each role is defined by its set of rules
– rules and primitives are selected from a
common base
• Be replicated for distinct access types
specialization of S.O.s, in same firewall
– provide multiple ports in one firewall
– allows specialization in security officers
– can handle major policy distinctions
7/26/2016
EPFL9security - Gio spring 2000
36
Security Mediator Benefits
• Dedicated to security task (may be multi-level secure)
• Uses only its rules and relevant function, all directly,
avoids interaction with DB views and procedures
• Maintained by responsible authority: the security officer
• Policy setting independent of database(s) and DBA(s)
• Logs just those transactions that penetrate the firewall,
records attempted violations independent of DB logs*
• Systems behind firewall need not be multi-level secure
• Databases behind firewall need not be perfect
*
7/26/2016
also used for replication, recovery, warehousing
EPFL9security - Gio spring 2000
37
Implementations
• UNIX prototype
• UNIX - Java at Incyte Corporation [SST]
– protect medical & genomic information
• NT - Java development system
• partially completed; in process
– Work on Drawings, as Aircraft Specs
– Trusted Image Dissemination
• wavelet-based decomposition to locate texts,
then blank text frequency or
extract for OCR
7/26/2016
EPFL9security - Gio spring 2000
38
Effective Settings
•
External access is a modest fraction of total use
•
Restructuring internal partitioning would induce
significant inefficiencies
collaboration, government oversight, safety monitoring
for example: Hospital: MD/patients vs. research/insurance
•
•
Errors are seriously embarrassing
in practice 2-5% of data are misfiled, doing better is costly
Locus of control is needed
Security officer cannot trust/control DB / network admin’s
7/26/2016
EPFL9security - Gio spring 2000
39
Paying for Security?
Nobody wants to pay much for something they
don’t expect to need and don’t understand !
– Security software is bought by system administrators to protect their position
– They do not try to understand security in depth
– They hence buy whatever is promised and cheap
– If there is a violation they can blame the vendor
• Effect: quality is not valued in the market
– poor environment for profiting from research
7/26/2016
EPFL9security - Gio spring 2000
40
TIHI Summary
Collaboration is an underemphasized issue
beyond encrypted transmits, firewalls, passwords, authentication
There is a need for flexible, selective access to data
without the risk of exposing related information in an enterprise
In TIHI service is provided by the Security Mediator:
a rule-based gateway processor of queries and results
under control of a security officer who implements enterprise policies
Our solution applies not only to Healthcare
but equally to Collaborating (virtual) enterprises
in many
Military situations.
7/26/2016
EPFL9security - Gio spring 2000
and
41
Backup slides
TIHI processing
Gio Wiederhold TIHI Oct96 42
Rules for Security Mediators
•
Stored in a database within the mediating processor
•
Simple but comprehensive
•
Default is paranoid
•
Every query is checked against every query rule (pre-processing)
•
Every result is checked against every result rule (post-processing)
•
Rules can be modified at all times by security officer (by experience,
looking at patterns:
importance of logs)
Gio Wiederhold TIHI Oct96 43
7/26/2016
EPFL9security - Gio spring 2000
43
Rule Processing
Features:
• Paranoia: Every applicable rule must be enforced for a query to be
successful or a result to be releasable, else process by the security
officer (SO)
• Default: If no rule applies rules then process by SO
• SO can pass, reject, or edit queries and results
• SO may inform customer, mediator will not
• All queries and results, successful or not, will be logged for audit
• Rules are stored in the mediator, with exclusive security access by
the SO
7/26/2016
EPFL9security - Gio spring 2000
Gio Wiederhold TIHI Oct96 44
44
The Rule Language
Goals:
• Simple and easy to formulate by the SO
• Easy to enter and observe into the system
• Employs a collection of functions to provide comprehensive and
adequate security
• Functions can exploit views
• Some functions provide text validation
• Some functions may need domain knowledge
7/26/2016
EPFL9security - Gio spring 2000
Gio Wiederhold TIHI Oct96 45
45
The Rule Language - Features...
• Rules are categorized as:
– SET-UP (Maintenance)
– PRE-QUERY
– POST-QUERY
• Users are grouped into Cliques to simplify rule
management
• Tables and their columns are grouped into segments to
simplify access mgmnt
7/26/2016
EPFL9security - Gio spring 2000
Gio Wiederhold TIHI Oct96 46
46
Rules... (continued)
•
•
•
•
•
•
•
•
•
•
limit_query_intersection_clique x clique_name
(Post)
limit_query_intersection_segment x segment_name (Post)
secure_keyword_clique
keyword clique_name
(Post)
secure_keyword_segment keyword segment_name (Post)
limit_session_time x
clique_name
(Pre/Post)
limit_user_hours_end
x clique_name
(Post)
limit_segment_hours_start x segment_name
(Pre)
limit_user_hours_start
x clique_name
(Pre)
limit_segment_hours_end x segment_name
(Post)
limit_function function_name clique_name
(Pre/Post)
7/26/2016
EPFL9security - Gio spring 2000
Gio Wiederhold TIHI Oct96 47
47
Security Table Definition
CREATE TABLE security_rules (
security_function char(32) NOT NULL,
object_name
char(32) NOT NULL,
object_value
char(32) NOT NULL);
Security Function
Object Name
Object Value
Limit_User
clique_name
user_name
Limit_Segment
segment_name table.column
Stat_Only
ALL/clique
true/false
Queries_Per_Session
ALL/clique
integer
Limit_Clique_To_Segment ALL/clique
segment_name
Randomize_clique
ALL/clique
true/false
Randomize_Segment
ALL/segment
true/false
7/26/2016
EPFL9security - Gio spring 2000
Gio Wiederhold TIHI Oct96 48
48
Security Table Definition... (continued)
Security Function
Validate_text
Object Name
table.column
Min_Rows_Retrieved
ALL/clique
Num_Queries_Segment
ALL/segment
Query_Intersection_Clique ALL/clique
Query_Intersection_Segment ALL/segment
Secure_Keyword_Clique
ALL/clique
Secure_Keyword_Segment ALL/segment
Session_Time
ALL/clique
User_Hours_Start
ALL/clique
User_Hours_End
ALL/clique
Segment_Hours_Start
ALL/segment
Segment_Hours_End
ALL/segment
Limit_Function_Clique
ALL/clique
7/26/2016
Object Value
invalid_words
integer
integer
integer
integer
keyword
keyword
TIME
start_time
end_time
start_time
end_time
function_name
EPFL9security - Gio spring 2000
Gio Wiederhold TIHI Oct96 49
49
Rule application - Overview
•
•
•
•
•
•
•
•
•
Does customer belong to a clique? If yes, switch to it
Does the customer clique satisfy all pre-query rules? (e.g.,
Session_Start, Stat_Only, Queries_Per_session)
Do the columns and tables belong to a segment?
Does the query satisfy all pre-query rules?
(e.g., valid
segments)
Does query need re-phrasing or augmentation?
(e.g.,
Stat_Only to detailed Select)
Send Query to appropriate Database (or mediator)
Does query result satisfy all post-query rules?
(e.g.
Min_Rows_Retrieved, Secure_Keyword_Clique)
Apply any result transformation rules
(e.g.
random falsification of data, aggregation)
Update log and internal statistics
7/26/2016
EPFL9security - Gio spring 2000
Gio Wiederhold TIHI Oct96 50
50
Implementation
Set-up
•
•
•
Security Officer enters rules into a file
Rule file is parsed to generated SQL script to insert rows into the
security_rules table
SQL script is executed against the database
7/26/2016
EPFL9security - Gio spring 2000
Gio Wiederhold TIHI Oct96 51
51
Implementation... (continued)
Customer Session Loop
•
•
•
•
•
•
Security Mediator Workstation accepts the customer query, logs it, and passes
control to the Security Mediator Software (SMS)
SMS reads the security_rules table and calls many different modules (sub-routines) to
validate the query (pre-query checks)
If okay, SMS executes the query (Embedded SQL calls)
Mediator Workstation gets results from the database and calls other SMS modules to
perform the post-query checks
If all checks are passed, the Mediator Workstation logs and returns results; awaits
another invocation
Result is accepted by customer and used or displayed
7/26/2016
EPFL9security - Gio spring 2000
Gio Wiederhold TIHI Oct96 52
52
System Operations
•
Customer connects remotely, via firewall for authentication, to
security officer's machine
•
Clique membership is assessed
•
System prompts customer for query
•
Query is parsed and validated against rules
•
Validated query is sent to database system
•
Results are retrieved and validated against rules
•
Validated results are made available to customer
7/26/2016
EPFL9security - Gio spring 2000
Gio Wiederhold TIHI Oct96 53
53
Related documents
Download