T I H I / SAW / TID

advertisement

T I H I / SAW / TID

Protecting Information when Access is Granted for Collaboration

A Point-of-failure in Protecting Information

Gio Wiederhold

Stanford University

August 2000

TIHI IFIP WG Schoorl Gio Wiederhold 4/12/2020 1

Research Support

• NSF-HPCC / SRI -sharing information in healthcare

• DARPA / SRI -sharing information in manufacturing

• NSF-NIH -protecting information concealed in images

• Incyte / SST -protecting genomic information

Participants -Staff and students

Michel Billelo, PhD, MD Stanford Maggie Johnson, PhD, Stanford & SST

Shelley Qian, PhD , Vitria ex SRI International, Latanya Sweeney, PhD, CMU

Jahnavi Akella, MS Stanford Jerry Cain, Stanford BS & SST

Andrea Chavez, JD, MS Stanford Chris Donahue. BS Stanford & SST

Antoine Picard, MS Stanford &SST Vatsala Sarathy, MS Stanford

James Wang, PhD, now Penn State

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 2

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

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 3

Remaining Issue:

Assuring Secure Collaboration

Not versus enemies

, but among colleagues,

4/12/2020 who need to share some, but not all information

TIHI IFIP WG Schoorl Gio Wiederhold 4

4/12/2020

Collaboration Needs:

Medical Records  Insurance Company

Medical Records  Medical Researchers

Manufacturer’s Specs  Subcontractor

Operational Data  Logistics Provider

Intelligence Data  Front-line soldier

Strategic Data  Allied Forces

TIHI IFIP WG Schoorl Gio Wiederhold 5

Dominant approach for Data

• Authenticate Customer in Firewall

• Validate query against database schema

• If both O.K., process query and ship results firewall result customer query authentication database access & authorization agent

TIHI IFIP WG Schoorl Gio Wiederhold sources

6 4/12/2020

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

4/12/2020 query authentication database access & authorization agent

TIHI IFIP WG Schoorl Gio Wiederhold data sources are rarely perfectly matched to all access rights

7

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

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 8

Access Patterns versus Data:

Accounting

Laboratory staff

Insurance Carriers

Patient

Physician

4/12/2020

Ward staff

CDC

TIHI IFIP WG Schoorl Gio Wiederhold

Etc..

Gio Wiederhold TIHI Oct96 9

9

Healthcare

Problems Seen

Objects (N) cannot be organized according to all possible access classifications (a) = (N a

)

Nursing hierarchy by bed and ward

Infectious disease hierarchy by risk

Query do not specify object precisely

Relevant history for low-weight births

(helpful database gets extra stuff)

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

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 10

Filling the Gap

Check the content of the result before it leaves the firewall result

Security mediator :

Human & software agent module firewall query

TIHI IFIP WG Schoorl Gio Wiederhold 4/12/2020 11

Result Checking

is understood and performed today in non-computerized settings:

• Briefcases are inspected when leaving secure meetings

• Computers, tapes,disks, etc. cannot be taken out of highly secure facilities

• Trucks are inspected on exiting a factory

Computer security system requirements have been modeled poorly wrt practice

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 12

Overall Schematic

Firewall

Security

Officer's

Mediator

System

Database

External

Customer

4/12/2020

Network

TIHI IFIP WG Schoorl Gio Wiederhold

Internal

Customer

13

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 )

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 14

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 computer-aided tools

• Tasks (with mediators)

– Defines and enters policy rules in security mediator

– Monitors exceptions, especially violations

– Monitors operation, to obtain feedback for improvements

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 15

Assigning the Responsibility

 Database Administrator

– Can create views limiting access in RDMSs

– Prime role is to assure convenient data access

 Network Administrator

– Can restrict incoming and outgoing IP addresses

– Prime role is to keep network up and connected to the Internet

 Specialist Security Officer

– Prime responsibility is security & privacy protection

– Implements security policy

– Interacts with database & network administrators

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 16

Roles

oo

Security officer manages security policy, not a computer specialist or database administrator.

Computer specialist provides tools agent workstation program for security mediation

Enterprise / institution defines policies its security officer (SO) uses the program as the tool

4/12/2020

Tool formalizes system practices rules, managed by the SO define the practice

TIHI IFIP WG Schoorl Gio Wiederhold 17

Security requires attention

• Security officer’s focus is security

– not for a computer system designer,

– nor database or network administrator,

– nor for management .

• SO has hardware&software ownership

• Having a tool enables the role

• Security mediator provides logging for

– focused audit trail

– system improvements

– accountability

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 18

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

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 19

Software Components

service

• Rule interpreter

• Primitives to support rule execution maintenance support

• Rule maintenance tools

• Log analysis tool

• Firewall interface

• Domain database interface

• Logger

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 20

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

• Gives control to Security officer: rules can be incrementally added/deleted/analyzed

• Primitives simplify rule specification: source, transmit date/time, prior request, ...

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 21

External

Data

Requestors

Query

Results

Application of Rules

authenticated ID

Parse Query failure

Query

Checking success edits ancillary requests else error rule customer advice

Execute Query in DBMS ( s )

SO authenticated ID cleared results results

Result checking ancillary results else edits

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 22

Rule Processing

Features:

Paranoia: Every applicable rule must be enforced for a query to be successful or a result to be releasable, else delegated to the security officer (SO)

Default: If no rule applies rules then delgate to SO

• SO can pass, reject, or edit queries and results

• SO may inform customer, mediator software will not

• All queries and results, successful or not, are logged for audit

• Rules are stored within the mediator, with exclusive security access by the SO

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold Gio Wiederhold TIHI Oct96 23 23

The Rule Language

Goals:

• Simple and easy to formulate by the SO

• Easy to enter and observe into the system

• Employs a collection of primitive functions to provide comprehensive and adequate security

• Functions can exploit views in RDBMS

• Some rule functions provide text validation

• Some functions may need domain knowledge

– Functions to process manufacturing designs

– Functions to extract text from images

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 24

Rule Organization

• Rules are categorized as:

– SET-UP (Maintenance)

– PRE-QUERY

– POST-PROCESSING

• External, authenticated users are grouped into Cliques to simplify rule management

• Tables and their columns are grouped into segments to simplify access managment

• Rules use primitives supplied by specialists

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 25

Primitives open-ended

Selected by rules for various clique roles

• Allow / disallow values

• Allow / disallow value ranges

• Limit results to approved good-word lists

• Disallow output containing bad words

• Limit output to specified times, places

• Limit number of queries per period

• Can augment queries for better result filtering

• Transform results

(de-identification, randomize),

• ….

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 26

Writing Primitives

Primitives must be secure!

• careful validation

– enabled by small size and

– narrow functionality

• break the DBMS transaction model

– use log to count prior access requests

– check for inference potential

– access requestor descriptions and history

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 27

Creating Wordlists

TIHI is Paranoid

• Result filtering primarily based on Good-word lists

– Created by processing examples of O.K. responses

– Augmented dynamically by terms found objectionable by system, but approved by security officer

• Current work

– Image filtering, to omit and extract text from images

• Possible future work

– use nounphrases to increase specificity

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 28

Filtering of text

Not perfect:

• Words out-of-context can pass the filter

• ophtamology: don’t pass names: Iris Smith

– Risk reduces rapidly with multiple words

• Can never have all good-words in list

– Load for security officer -- seek a balance

• Cost: all of contents must be processed

– Good technology from spell checkers

– Domain-specific word-lists are modest in size

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 29

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

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 30

Coverage of Access Paths

Security officer

Authentication based good / bad good guy control prior use validated to be O.K.

history security needs

Security Mediator

Database administrator oo good query DB schemabased

O.K. control processable query ancillary information performance, function requests

Database

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold result is likely O.K.

31

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 accessor types

– provide multiple ports in one firewall

– allows specialization in security officers

– can handle major policy distinctions

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 32

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

* also used for replication, recovery, warehousing

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold

Gio Wiederhold TIHI Oct96 33

33

Implementations

• UNIX prototype

• UNIX - Java at Incyte Corporation [SST]

– protect medical & genomic information

• NT - Java development system

• Primitives for Drawings, as Aircraft Specs

• Trusted Image Dissemination

• wavelet-based decomposition to locate texts,

• extract for OCR

• blank text frequency if not found in good rules

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 34

Integration bypasses DBA protection

Firewall

S.O.

NwA

DBA

External Requestors original request

Security Mediator certified query

Integrating Mediator certified result partially filtered results

Internal

Requestors

4/12/2020

Protected, Shared Databases

TIHI IFIP WG Schoorl Gio Wiederhold 35

Effective Settings

for SecMed

• External access is a modest fraction of total use collaboration, government oversight, safety monitoring

• Restructuring internal partitioning would induce significant inefficiencies 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

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 36

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 has been applied to Healthcare also relevant to Collaborating (virtual) enterprises and in many Military situations.

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold Gio Wiederhold TIHI Oct96 37 37

Backup slides

TIHI processing

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold Gio Wiederhold TIHI Oct96 38 38

Idea

Check for traps

• Insert distinct password into password file, check for it being reported out.

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold 39

General mediation approach: isolate value-added processing

User interface

Service interface

Mediator owner and maintainer

Resource access interface

Human-computer

Interaction

Applicationspecific code

MEDIATION

Domainspecific code

Sourcespecific code

Real-world interface

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold Gio Wiederhold TIHI Oct96 40 40

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 (Post)

• limit_num_queries x segment_name (Post)

• validate_text table.column x good_words (Post)

• set_randomize_clique clique_name true/false (Post)

• set_randomize_segment segment_name true/false (Post)

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold Gio Wiederhold TIHI Oct96 41 41

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)

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold Gio Wiederhold TIHI Oct96 42 42

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

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold Gio Wiederhold TIHI Oct96 43 43

Security Table Definition...

(continued)

Security Function Object Name Object Value

Validate_text table.column

invalid_words

Min_Rows_Retrieved ALL/clique integer

Num_Queries_Segment ALL/segment integer

Query_Intersection_Clique ALL/clique integer

Query_Intersection_Segment ALL/segment integer

Secure_Keyword_Clique ALL/clique keyword

Secure_Keyword_Segment ALL/segment keyword

Session_Time ALL/clique TIME

User_Hours_Start ALL/clique start_time

User_Hours_End ALL/clique end_time

Segment_Hours_Start ALL/segment start_time

Segment_Hours_End ALL/segment end_time

Limit_Function_Clique ALL/clique function_name

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold Gio Wiederhold TIHI Oct96 44 44

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

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold Gio Wiederhold TIHI Oct96 45 45

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

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold Gio Wiederhold TIHI Oct96 46 46

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

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold Gio Wiederhold TIHI Oct96 47 47

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

4/12/2020 TIHI IFIP WG Schoorl Gio Wiederhold Gio Wiederhold TIHI Oct96 48 48

Download