Download presentation
Presentation is loading. Please wait.
Published bySabrina Chase Modified over 9 years ago
1
Xusheng Xiao, Tao Xie North Carolina State University xxiao2,txie@ncsu.edu Amit Paradkar IBM T.J. Watson Research Center paradkar@us.ibm.com
2
Access control is one of the most widely used privacy and security mechanisms used to prevent security vulnerabilities by controlling access to resources Access control is often governed by security policies called Access Control Policies (ACP)
3
ACP includes rules to control which principals have access to which resources A policy rule includes four elements subject – HCP action - edit resource - patient's account effect - deny “The Health Care Personnel (HCP) does not have the ability to edit the patient's account.” ex.
4
How to ensure correct specification of ACPs? ACPs may be complex/error-prone to specify ACPs are often written in natural language (NL) How to ensure correct enforcement of ACPs? Gap btw ACPs (domain concepts) and system implementation (programming concepts) Functional requirements bridge the gap but are often written in NL NL Functional Requirement System Implementation NL ACPs conformance
5
Properties Functional Requirement Automated Extraction of ACPs Non-Functional Requirement System Implementation Verification and Testing Tools Correct Specification Correct Enforcement Detected Issues Automated Validation against ACPs Extracted ACPs
6
How to ensure correct specification of ACPs? ACPs may be complex/error-prone to specify Existing approaches on ACP testing and verification require ACPs to be formally specified, such as in XACML(eXtensible Access Control Markup Language)
7
OASIS standard XML-based language to specify ACPs HCP edit patient.account Organization for the Advancement of Structured Information Standards “The Health Care Personnel (HCP) does not have the ability to edit the patient's account.”
8
Specify ACPs directly in XACML via XML editor Specify ACPs using GUI tool via NIST/NCSU ACPT tool
9
Contact: Vincent Hu vhu@nist.govvhu@nist.gov http://csrc.nist.gov/groups/SNS/acpt/acpt-beta.htm Model Construction specify and combine access control (AC) models (e.g., Multi-Level, RBAC ) Model Verification verify AC models against given properties Implementation Testing test AC implementation with NIST ACTS XACML Synthesis
10
In practice, ACPs are often written in natural language (NL), especially in legacy systems Supposed to be written in non-functional requirements (e.g., security requirement) But often buried inside functional requirements …… Patient MID should be the number assigned when the patient is added to the system and cannot be edited. The HCP does not have the ability to edit the patient's security question and password. ……. ( UC1 of iTrust use cases) ex.
11
Manually inspect NL documents and identify sentences describing ACPs Specify via XML Editor Non-Functional Requirements Formal ACPs Functional Requirements Specify via GUI Tool
12
ACP Extraction Access Control Policy Effect Subject Action Resource HCP edit patient.account deny “The Health Care Personnel (HCP) does not have the ability to edit the patient's account.”
13
NL documents, such as functional requirements, could be large in size, only a small portion describes ACPs iTrust requirement has 464 sentences only 10 sentences describe ACPs Manual extraction of ACPs Very tedious and error-prone
14
Scenario-based functional requirements: use case: a sequence of action steps, describing ▪ principals access different resources for achieving some functionalities Resource access information: subject – patient action – view resource – access log The patient views access log. ex.
15
Manual validation to detect inconsistencies Action steps inconsistent with formalized/extracted ACPs Inconsistent names used for referring to the same entity (e.g., user) across different use cases editor used in UC 4 of iTrust use cases actually refers to all users. ex.
16
Action-step inconsistencies cause problems for enforcing policies Mismatch btw ACP entities and their counterparts in functional requirements ▪ user used in ACP vs. editor used in use cases If inconsistencies not resolved at requirement stage, cost grows much higher for fixing them in later stages
17
Ensure correct specification automatically extract ACPs from NL documents Ensure correct enforcement automatically extract action steps from NL use cases Novel Natural Language Processing (NLP) techniques syntactic analysis: extract syntactic structure (noun group, verb group) semantic analysis: extract semantic meaning of elements (e.g., subject, action, resource, and effect)
18
Functional Requirement Non-function Requirements ACP Extraction Formal ACPs ACP Extraction Deny ACPs Resource Access Information Combined ACPs Action-step Extraction Automatic Validation Detected Inconsistencies
19
Functional Requirement ACP Extraction Deny ACPs Resource Access Information Action-step Extraction Permit ACPs Combined ACPs
20
TC1: Semantic Structure Variance different ways to specify the same rule TC2: Negative Meaning Implicitness verb could have negative meaning ACP 1: An HCP cannot change patient’s account. ACP2: An HCP is disallowed to change patient’s account.
21
TC3: Anaphora TC4: Transitive Subject TC5: Perspective Variance These challenges apply when extracting ACPs from Functional Requirements Step 1: An HCP creates an account. Step 2:He edits the account. Step 3: The system updates the account. Step 4: The system displays the updated account. HCP HCP views the updated account.
22
Non- Functional Reqs Specification (e.g., XACML) Transformation ACP Linguistic Analysis ACP Linguistic Analysis Model Construction ACP Model Resource Access Extraction Use Cases (UC) Use Case Linguistic Analysis Use Case Linguistic Analysis Action Steps Action Steps Resource Access Information Action-step Extraction ACP Extraction Use Cases (UC)
23
Specification (e.g., XACML) Transformation ACP Linguistic Analysis ACP Linguistic Analysis Model Construction ACP Model Resource Access Extraction Use Cases (UC) Use Case Linguistic Analysis Use Case Linguistic Analysis Action Steps Action Steps Resource Access Information Action-step Extraction ACP Extraction Non- Functional Reqs Use Cases (UC)
24
NL Text Shallow Parsing Words with POS tags, Phrases, Grammatical Functions Semantic Pattern Matching Phrases marked with annotations Words associated with semantic classes Domain Dictionary
25
Part-Of-Speech Tag (POS) Phrase Identification Grammatical Functions Active Voice ACP 1: An HCP can view patient’s account. ACP2: An HCP is disallowed to change the patient’s account. NPVGPNP Main Verb GroupSubjectObject Passive Voice to-infinitive phrase
26
Address TC1 Semantic Structure Variance Compose pattern based on grammatical function An HCP is disallowed to change the patient’s account. ex. passive voiceto-infinitive phrase followed by
27
Modal Verb in Main Verb Group Passive Voice followed by To-infinitive Phrase Access Expression An HCP can view the patient’s account. An admin should not update patients’ password. An HCP is disallowed to update patient’s password. An HCP is allowed to view patient’s account. An HCP has read access to patient’s account. An patient’s account is accessible to an HCP.
28
Used to associate verbs with semantic class Include synonyms (collected from WordNet) “prohibit, disallow” -> NEGATIVE “edit, change, update” -> UPDATE ex.
29
Address TC2 Negative Meaning Implicitness Negative expression “not” in subject: “not” in verb group: Negative meaning words in main verb group No HCP can edit patient’s account. ex. HCP can not edit patient’s account. HCP can never edit patient’s account. ex. An HCP is disallowed to change the patient’s account.
30
Specification (e.g., XACML) Transformation ACP Linguistic Analysis ACP Linguistic Analysis Model Construction ACP Model Resource Access Extraction Use Cases (UC) Use Case Linguistic Analysis Use Case Linguistic Analysis Action Steps Action Steps Resource Access Information Action-step Extraction ACP Extraction Non- Functional Reqs Use Cases (UC)
31
Identify subject, action, and resource: Subject: HCP Action: change Resource: patient’s account Infer effect: Negative Expression: none Negative Verb: disallow Inferred Effect: deny An HCP is disallowed to change the patient’s account. ex.
32
Specification (e.g., XACML) Transformation ACP Linguistic Analysis ACP Linguistic Analysis Model Construction ACP Model Resource Access Extraction Use Cases (UC) Use Case Linguistic Analysis Use Case Linguistic Analysis Action Steps Action Steps Resource Access Information Action-step Extraction ACP Extraction Non- Functional Reqs Use Cases (UC)
33
Synthesize a corresponding policy rule in XACML in input formats for policy modeling and testing tools such as the NIST/NCSU ACPT tool … Access Control Policy Effect Subject Action Resource HCP update patient’s account Deny HCP update patient.account
34
Specification (e.g., XACML) Transformation ACP Linguistic Analysis ACP Linguistic Analysis Model Construction ACP Model Resource Access Extraction Use Cases (UC) Use Case Linguistic Analysis Use Case Linguistic Analysis Action Steps Action Steps Resource Access Information Action-step Extraction ACP Extraction Non- Functional Reqs Use Cases (UC)
35
We adapt the linguistic analysis engine from our previous approach [DSN’09] with additional techniques to address TC3, TC4, and TC5. The linguistic analysis engine is based on shallow parsing
36
Address TC3 Anaphora Resolve Anaphora adapt anaphora algorithm from “Anaphora for everyone: Pronominal anaphora resolution without a parser” [COLING’96] Step 1: An HCP creates an account. Step 2:He edits the patient’s account. HCP
37
Address TC4 Transitive Subject Apply data flow of non-system subject: Step 1: The HCP edits the account. Step 2: The system updates the account. Tracking Only system as subject adding HCP as subject
38
Address TC5 Perspective Variance Apply data flow of non-system subject: Step 1: The HCP edits the account. Step 2: The system shows the updated account. Tracking Only system as subject and action is to output Converting to “HCP views the updated account”
39
Use Case Linguistic Analysis Action Step Actor Type Parameter Patient OUTPUT - view Access log The patient views access log.
40
Specification (e.g., XACML) Transformation ACP Linguistic Analysis ACP Linguistic Analysis Model Construction ACP Model Resource Access Extraction Use Cases (UC) Use Case Linguistic Analysis Use Case Linguistic Analysis Action Steps Action Steps Resource Access Information Action-step Extraction ACP Extraction Non- Functional Reqs Use Cases (UC)
41
Extract resource access information from extracted action steps Apply union on resource access information of extracted action steps to form permit ACP rules Permit rules + Deny rules Combined rules Action Actor Type Parameter Patient OUTPUT - view Access log Subject: patient Action: view Resource: access log
42
Validate resource access information from each action step against specified/extracted ACPs Report detected inconsistencies
43
Extracted ACPs serve as initial version for policy authors to improve validated with specified ACPs for completeness and correctness Extracted action steps detect inconsistencies with specified/extracted ACPs extract ACPs from functional requirements locate policy enforcement points
44
Prototype system implemented for Text2Policy Subject: iTrust open source project http://agile.csc.ncsu.edu/iTrust/wiki/doku.php?id=requiremen ts http://agile.csc.ncsu.edu/iTrust/wiki/doku.php?id=requiremen ts 448 use-case sentences (37 use cases) 10 non-functional-requirement sentences 8 constraint sentences Total lines of code: 28514 ▪ source: 13528 ▪ unittests: 11445 ▪ Httptests: 3541 Subject: collected NL ACP rules 115 rules From 18 sources (published papers, public websites, iTrust)
45
RQ1: How effectively does Text2Policy identify sentences describing ACP rules in NL documents? RQ2: How effectively does Text2Policy extract ACP rules from sentences describing ACP rules? RQ3: How effectively does Text2Policy extract action steps from use cases?
46
Apply Text2Policy to identify sentences describing deny ACP rules in iTrust requirements 10 sentences among 448 sentences describing deny ACP rules 2 false negative Ex. “The administrator is not allowed to modify the hospital ID number in an existing entry.” 0 false positive precision: 100% recall: 80%
47
Apply Text2Policy to extract ACP rules from collected NL ACP sentences 115 sentences describing ACP rules Successfully extract 106 ACP rules Accuracy: 92.17% Unsuccessful Ex. “Any subject with an e-mail name in the med.example.com domain can perform any action on any resource.” Unsuccessful Ex. “A reviewer of a paper can resign the review of the paper, unless he has already appointed a sub-reviewer for the paper.”
48
Apply Text2Policy to extract action steps from iTrust use cases 438 sentences (excluding sentences describing ACP rules) Successfully extract action steps from 367 sentences Accuracy: 83.79% Unsuccessful Ex. “The HCP must provide instructions, or else they cannot add the prescription.” Unsuccessful Ex. “Upon reading the report, the public health agent can send a "fake email" message to the adverse event reporter to gain more information about the report.”
49
How to ensure correct specification of ACPs? Extract ACPs from security requirements Extract ACPs from functional requirements Detect inconsistencies among ACPs How to ensure correct enforcement of ACPs? Extract action steps from functional requirements Detect inconsistencies btw ACPs and action steps Text2Policy Automatic Construction and Validation of ACPs from NL Documents
50
Improve Text2Policy prototype Integrate Text2Policy to NIST/NCSU ACPT Conditions in ACP rules Ordering among ACP rules Different application domains Healthcare Law statutes NIST NVD (National Vulnerability Database) and CWE (Common Weakness Enumeration) Mail lists … Collaborations are welcome!
51
http://csrc.nist.gov/groups/SNS/acpt/acpt-beta.htm
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.