SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Accumulo Summit 2015
2015.04.29
Gurcan Gercek
gurcan@deveralogic.com
Extending Accumulo to
Support ABAC using XACML
• Support the full expressivity of attribute based access controls (ABAC)
using eXtensible Access Control Markup Language (XACML)
• Minimal change to current Accumulo source code
• Non-disruptive to production Accumulo implementations
▫ Support simultaneous use of cell-based AC (CBAC) and XACML
▫ No performance impact on CBAC
▫ Support a controlled migration from CBAC to XACML
• Support conventional XACML open source, vendor and service provider
community
Objectives of our Project
2
• ABAC vs RBAC
▫ Centralized AC Policy: Easy to Change
▫ Dynamic Policies Implementations
• ABAC is the strategic AC plan for:
▫ Defense Information Systems Agency (DISA)
▫ National Institute of Standards and Technology (NIST)
▫ Federal Chief Information Officers Council (Federal CIO Council)
▫ National Cybersecurity Center of Excellence (NCCoE)
• Gartner Research:
▫ by 2020, 70% of all enterprises will use ABAC
• Risk reduction for cyber security
Why ABAC?
3
Accumulo’s Cell Based Access Control
4
Audit, Finance (Audit & Finance)
5
• Characteristics of the users, cells, or environment conditions.
• Name-Value pairs
• Attributes must be enclosed by { }
▫ {AttributeName:AttributeValue}
• Not replacing Security Labels
• Visibility Field of a cell contains either Attributes or Security Labels
Attributes: Extending Security Labels
6
User Security Labels User Attributes
Audit, Finance {Role:Audit}, {Department:Finance}
7
8
9
- User Attributes
- LDAP
- Data Attributes
- Visibility Field Content
- Other Fields of Key:
RowId, ColF, ColQ, TS
10
11
3rd Party System Information
- Snort Alerts -> Threat Level
- Policy: Risk-based AC
- If Threat Level higher than
MEDIUM deny all READ requests
- Cyber Incident Response Strategies
12
13
System Attributes(Work in progress)
- Table Name
- Namespace
• User Attributes
• Data Attributes (All Key Fields)
• External Attributes
▫ Location, Time, 3rd party system alerts (Dynamic/Risk-based AC)
• System/Table Attributes (Work in progress)
▫ Namespace, Table name, etc.
• Request Attributes
▫ Providing extra information to access control process (OTP or Emergency Code)
▫ Not needed to be assigned to user by system administrator
▫ Will be handled with a different namespace/prefix to avoid name collision
Attribute Types
14
15
• Extending Access Control Mechanism
▫ Visibility Field: Attributes or Security Labels
▫ Using Attributes and Security Labels in the same system
▫ Adding XACML capabilities to Accumulo while keeping
existing mechanism
• XACML Policies
▫ Policy definitions are shared over HDFS between nodes
Our Approach
16
17
• eXtensible Access Control Markup Language
• Defacto standard for ABAC
• Mature OASIS Standard
• Flexibility and Expressivity
• Administration Productivity
• Interoperability
• Open Source and Commercial vendors/support
Why XACML?
18
• PAP: Policy Administration Point
• PRP: Policy Retrieval Point
• PIP: Policy Information Point
• PDP: Policy Decision Point
• PEP: Policy Enforcement Point
XACML Architecture
19
• Adapting XACML architecture to Accumulo Architecture
• Shared nothing principal
▫ Decentralizing XACML architecture
▫ Each tablet has its own PEP, PDP and PIP (part of the system iterator)
▫ External communication may require for collecting external attributes
 Caching for performance
• Plug-in Structure
▫ Replaceable XACML Engine
▫ First Implementation with Balana Project
 Part of Open Source WSO2 Project
Accumulo and XACML Architecture
• Centralized policy administration
• Commercial and open source implementations exist
• Reduce the coding requirement for enforcing policies
• Easy to implement PIP structure
• Supporting complex access control policies
▫ Privilege Elevation
▫ Bypass Policies for special cases (such as emergency or incident)
▫ Relational Constraints (team manager can see data of his/her team
members)
▫ Take advantage of other key fields of cell for AC policies(rowid, colf, colq, ts)
Benefits of a XACML Plugin
20
• AC Requirement:
▫ Patient Data can be read only by his/her Doctor
• Assumption:
▫ Relationship between doctor and patient stored in an external system
• User Attribute:
▫ {DOCTOR_ID:435152434}
• Data Attribute: (In Visibility Field):
▫ {DATA_CLASSIFICATION:RESPONSIBLE_DOCTOR_ONLY}
& {PATIENT_ID:123456789}
Use Case: Doctor Patient Confidentiality
21
Policy: OnlyDoctorsCanRead – FirstApplicable
Target: DATA_CLASSIFICATION matches RESPONSIBLE_DOCTOR_ONLY
Rule: AllowAssignedDoctorOnly – Permit
Target: IS_PATIENTS_DOCTOR matches TRUE
Rule: DenyEverythingElse – Deny
Target: Any
Use Case: As implemented in Devera Logic PAP
22
PIP Implementation: IS_PATIENTS_DOCTOR
23
• PDP asks PIP for attributes used in policy but not exists in request
▫ External
▫ Derived Attributes
• @Attribute Annotation
▫ Automatically registers annotated function for associated attribute
▫ Parameters: attributeId and attributeType
PIP Implementation: IS_PATIENTS_DOCTOR
24
25
• Passive Attribute Collection
▫ If there is no API to query information
▫ Security Restrictions, e.g no incoming connection
▫ Async or Event based information generation
 IDS alerts or any other logging system
• PIP Collector REST API
▫ Pushing external system information into local PIPs
▫ AttributeId, AttributeType, AttributeValue, indexValue, ApiKey and
SecurityToken
Use Case: Implementing Attributes on PIP
26
• By using Accumulo Shell
> setauths -s {DOCTOR_ID:23245} -u jim
Use Case: Assigning User Attributes
• Testing, documentation and performance characterization
• Integrating Devera Logic PAP
▫ Policy Governance
 Organizational policy AC policy = technical AC policy implementation
▫ Policy Integrity
 AC policy conflict and omissions management
▫ Policy Performance
 Productive and scalable XACML
Current Work
27
• Open source
• Build Community
▫ gurcan@deveralogic.com
▫ info@deveralogic.com
Next Steps
28
29
• AC Policy requirements
▫ A customer's records should only be accessed by her broker.
▫ Her broker may change over the course of time.
▫ Her broker may only access her records during business hours.
▫ Her broker may only access her records while physically in an office.
Bonus Content: Use Case – Broker
30
• Possible Attribute
Use Case – Broker
Attribute Name Possible Values
ROLE CUSTOMER | BROKER
TIMEOFDAY [00:00:00, 23:59:59]
DAYOFWEEK MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY
| SATURDAY | SUNDAY
LOCATION OFFICE_XYZ | NOT_IN_OFFICE
IS_CUSTOMERS_BROKER True | False
BROKER_ID Any unique alphanumeric identifier
31
Policy Definition:
Policy: In_Office_Policy - First applicable
Target: Location regexp-match Office_[0-9] [0-9] [0-9]
and Role matches Broker
and isCustomersBroker matches True
Rule: Allow_During_Wek_Day – Permit
Target: DayOfTheWeek matches one of Monday, Tuesday, Wednesday, Thursday, Friday
Condition: TimeOfTheDay after or on 09:00:00 and TimeOfTheDay before or on 17:30:00
Rule: Deny_Other_Requests – Deny
Target: any
Use Case: As implemented in Devera Logic PAP
32
• By using Accumulo Shell
> setauths -s {ROLE:BROKER},{BROKER_ID:13213-4124-23245} -u jim
• To read the data simply call scan
> scan
Use Case: Assigning User Attributes

Weitere ähnliche Inhalte

Ähnlich wie Accumulo Summit 2015: Extending Accumulo to Support ABAC using XACML [Security]

Oracle Enterprise Manager 12c: updates and upgrades.
Oracle Enterprise Manager 12c: updates and upgrades.Oracle Enterprise Manager 12c: updates and upgrades.
Oracle Enterprise Manager 12c: updates and upgrades.Rolta
 
Best Practices for Multi-Cloud Security and Compliance
Best Practices for Multi-Cloud Security and ComplianceBest Practices for Multi-Cloud Security and Compliance
Best Practices for Multi-Cloud Security and ComplianceRightScale
 
Con9573 managing the oim platform with oracle enterprise manager
Con9573 managing the oim platform with oracle enterprise manager Con9573 managing the oim platform with oracle enterprise manager
Con9573 managing the oim platform with oracle enterprise manager OracleIDM
 
Making Self-Service BI a Reality in the Enterprise
Making Self-Service BI a Reality in the EnterpriseMaking Self-Service BI a Reality in the Enterprise
Making Self-Service BI a Reality in the EnterpriseCloudera, Inc.
 
PayPal Decision Management Architecture
PayPal Decision Management ArchitecturePayPal Decision Management Architecture
PayPal Decision Management ArchitecturePradeep Ballal
 
Bright talk mapping the right aut solution for you 2014 final (1)
Bright talk mapping the right aut solution for you 2014 final (1)Bright talk mapping the right aut solution for you 2014 final (1)
Bright talk mapping the right aut solution for you 2014 final (1)Sectricity
 
Percona Live Europe 2018: What's New in MySQL 8.0 Security
Percona Live Europe 2018: What's New in MySQL 8.0 SecurityPercona Live Europe 2018: What's New in MySQL 8.0 Security
Percona Live Europe 2018: What's New in MySQL 8.0 SecurityGeorgi Kodinov
 
Security architecture best practices for saas applications
Security architecture best practices for saas applicationsSecurity architecture best practices for saas applications
Security architecture best practices for saas applicationskanimozhin
 
Techcello webinar ppt slideshare
Techcello webinar ppt slideshareTechcello webinar ppt slideshare
Techcello webinar ppt slidesharekanimozhin
 
Myths of validation
Myths of validationMyths of validation
Myths of validationJeff Thomas
 
Presentation database security enhancements with oracle
Presentation   database security enhancements with oraclePresentation   database security enhancements with oracle
Presentation database security enhancements with oraclexKinAnx
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingvodQA
 
Application Crisis avoidance six things you can do
Application Crisis avoidance  six things you can doApplication Crisis avoidance  six things you can do
Application Crisis avoidance six things you can doApalytics
 
45 Minutes to PCI Compliance in the Cloud
45 Minutes to PCI Compliance in the Cloud45 Minutes to PCI Compliance in the Cloud
45 Minutes to PCI Compliance in the CloudCloudPassage
 
Database security and security in networks
Database security and security in networksDatabase security and security in networks
Database security and security in networksG Prachi
 
AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...
AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...
AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...Databricks
 
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in OracleProtect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in OracleNelson Calero
 
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...Dilum Bandara
 

Ähnlich wie Accumulo Summit 2015: Extending Accumulo to Support ABAC using XACML [Security] (20)

Oracle Enterprise Manager 12c: updates and upgrades.
Oracle Enterprise Manager 12c: updates and upgrades.Oracle Enterprise Manager 12c: updates and upgrades.
Oracle Enterprise Manager 12c: updates and upgrades.
 
Cloud Design Patterns
Cloud Design PatternsCloud Design Patterns
Cloud Design Patterns
 
Best Practices for Multi-Cloud Security and Compliance
Best Practices for Multi-Cloud Security and ComplianceBest Practices for Multi-Cloud Security and Compliance
Best Practices for Multi-Cloud Security and Compliance
 
Con9573 managing the oim platform with oracle enterprise manager
Con9573 managing the oim platform with oracle enterprise manager Con9573 managing the oim platform with oracle enterprise manager
Con9573 managing the oim platform with oracle enterprise manager
 
Making Self-Service BI a Reality in the Enterprise
Making Self-Service BI a Reality in the EnterpriseMaking Self-Service BI a Reality in the Enterprise
Making Self-Service BI a Reality in the Enterprise
 
PayPal Decision Management Architecture
PayPal Decision Management ArchitecturePayPal Decision Management Architecture
PayPal Decision Management Architecture
 
Bright talk mapping the right aut solution for you 2014 final (1)
Bright talk mapping the right aut solution for you 2014 final (1)Bright talk mapping the right aut solution for you 2014 final (1)
Bright talk mapping the right aut solution for you 2014 final (1)
 
Percona Live Europe 2018: What's New in MySQL 8.0 Security
Percona Live Europe 2018: What's New in MySQL 8.0 SecurityPercona Live Europe 2018: What's New in MySQL 8.0 Security
Percona Live Europe 2018: What's New in MySQL 8.0 Security
 
Security architecture best practices for saas applications
Security architecture best practices for saas applicationsSecurity architecture best practices for saas applications
Security architecture best practices for saas applications
 
Techcello webinar ppt slideshare
Techcello webinar ppt slideshareTechcello webinar ppt slideshare
Techcello webinar ppt slideshare
 
Myths of validation
Myths of validationMyths of validation
Myths of validation
 
Presentation database security enhancements with oracle
Presentation   database security enhancements with oraclePresentation   database security enhancements with oracle
Presentation database security enhancements with oracle
 
Large scale, distributed access management deployment with aruba clear pass
Large scale, distributed access management deployment with aruba clear passLarge scale, distributed access management deployment with aruba clear pass
Large scale, distributed access management deployment with aruba clear pass
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Application Crisis avoidance six things you can do
Application Crisis avoidance  six things you can doApplication Crisis avoidance  six things you can do
Application Crisis avoidance six things you can do
 
45 Minutes to PCI Compliance in the Cloud
45 Minutes to PCI Compliance in the Cloud45 Minutes to PCI Compliance in the Cloud
45 Minutes to PCI Compliance in the Cloud
 
Database security and security in networks
Database security and security in networksDatabase security and security in networks
Database security and security in networks
 
AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...
AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...
AI as a Service, Build Shared AI Service Platforms Based on Deep Learning Tec...
 
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in OracleProtect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
 
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
 

Kürzlich hochgeladen

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
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
 

Kürzlich hochgeladen (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 
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
 

Accumulo Summit 2015: Extending Accumulo to Support ABAC using XACML [Security]

  • 1. Accumulo Summit 2015 2015.04.29 Gurcan Gercek gurcan@deveralogic.com Extending Accumulo to Support ABAC using XACML
  • 2. • Support the full expressivity of attribute based access controls (ABAC) using eXtensible Access Control Markup Language (XACML) • Minimal change to current Accumulo source code • Non-disruptive to production Accumulo implementations ▫ Support simultaneous use of cell-based AC (CBAC) and XACML ▫ No performance impact on CBAC ▫ Support a controlled migration from CBAC to XACML • Support conventional XACML open source, vendor and service provider community Objectives of our Project 2
  • 3. • ABAC vs RBAC ▫ Centralized AC Policy: Easy to Change ▫ Dynamic Policies Implementations • ABAC is the strategic AC plan for: ▫ Defense Information Systems Agency (DISA) ▫ National Institute of Standards and Technology (NIST) ▫ Federal Chief Information Officers Council (Federal CIO Council) ▫ National Cybersecurity Center of Excellence (NCCoE) • Gartner Research: ▫ by 2020, 70% of all enterprises will use ABAC • Risk reduction for cyber security Why ABAC? 3
  • 4. Accumulo’s Cell Based Access Control 4 Audit, Finance (Audit & Finance)
  • 5. 5
  • 6. • Characteristics of the users, cells, or environment conditions. • Name-Value pairs • Attributes must be enclosed by { } ▫ {AttributeName:AttributeValue} • Not replacing Security Labels • Visibility Field of a cell contains either Attributes or Security Labels Attributes: Extending Security Labels 6 User Security Labels User Attributes Audit, Finance {Role:Audit}, {Department:Finance}
  • 7. 7
  • 8. 8
  • 9. 9 - User Attributes - LDAP - Data Attributes - Visibility Field Content - Other Fields of Key: RowId, ColF, ColQ, TS
  • 10. 10
  • 11. 11 3rd Party System Information - Snort Alerts -> Threat Level - Policy: Risk-based AC - If Threat Level higher than MEDIUM deny all READ requests - Cyber Incident Response Strategies
  • 12. 12
  • 13. 13 System Attributes(Work in progress) - Table Name - Namespace
  • 14. • User Attributes • Data Attributes (All Key Fields) • External Attributes ▫ Location, Time, 3rd party system alerts (Dynamic/Risk-based AC) • System/Table Attributes (Work in progress) ▫ Namespace, Table name, etc. • Request Attributes ▫ Providing extra information to access control process (OTP or Emergency Code) ▫ Not needed to be assigned to user by system administrator ▫ Will be handled with a different namespace/prefix to avoid name collision Attribute Types 14
  • 15. 15
  • 16. • Extending Access Control Mechanism ▫ Visibility Field: Attributes or Security Labels ▫ Using Attributes and Security Labels in the same system ▫ Adding XACML capabilities to Accumulo while keeping existing mechanism • XACML Policies ▫ Policy definitions are shared over HDFS between nodes Our Approach 16
  • 17. 17 • eXtensible Access Control Markup Language • Defacto standard for ABAC • Mature OASIS Standard • Flexibility and Expressivity • Administration Productivity • Interoperability • Open Source and Commercial vendors/support Why XACML?
  • 18. 18 • PAP: Policy Administration Point • PRP: Policy Retrieval Point • PIP: Policy Information Point • PDP: Policy Decision Point • PEP: Policy Enforcement Point XACML Architecture
  • 19. 19 • Adapting XACML architecture to Accumulo Architecture • Shared nothing principal ▫ Decentralizing XACML architecture ▫ Each tablet has its own PEP, PDP and PIP (part of the system iterator) ▫ External communication may require for collecting external attributes  Caching for performance • Plug-in Structure ▫ Replaceable XACML Engine ▫ First Implementation with Balana Project  Part of Open Source WSO2 Project Accumulo and XACML Architecture
  • 20. • Centralized policy administration • Commercial and open source implementations exist • Reduce the coding requirement for enforcing policies • Easy to implement PIP structure • Supporting complex access control policies ▫ Privilege Elevation ▫ Bypass Policies for special cases (such as emergency or incident) ▫ Relational Constraints (team manager can see data of his/her team members) ▫ Take advantage of other key fields of cell for AC policies(rowid, colf, colq, ts) Benefits of a XACML Plugin 20
  • 21. • AC Requirement: ▫ Patient Data can be read only by his/her Doctor • Assumption: ▫ Relationship between doctor and patient stored in an external system • User Attribute: ▫ {DOCTOR_ID:435152434} • Data Attribute: (In Visibility Field): ▫ {DATA_CLASSIFICATION:RESPONSIBLE_DOCTOR_ONLY} & {PATIENT_ID:123456789} Use Case: Doctor Patient Confidentiality 21
  • 22. Policy: OnlyDoctorsCanRead – FirstApplicable Target: DATA_CLASSIFICATION matches RESPONSIBLE_DOCTOR_ONLY Rule: AllowAssignedDoctorOnly – Permit Target: IS_PATIENTS_DOCTOR matches TRUE Rule: DenyEverythingElse – Deny Target: Any Use Case: As implemented in Devera Logic PAP 22
  • 23. PIP Implementation: IS_PATIENTS_DOCTOR 23 • PDP asks PIP for attributes used in policy but not exists in request ▫ External ▫ Derived Attributes • @Attribute Annotation ▫ Automatically registers annotated function for associated attribute ▫ Parameters: attributeId and attributeType
  • 25. 25 • Passive Attribute Collection ▫ If there is no API to query information ▫ Security Restrictions, e.g no incoming connection ▫ Async or Event based information generation  IDS alerts or any other logging system • PIP Collector REST API ▫ Pushing external system information into local PIPs ▫ AttributeId, AttributeType, AttributeValue, indexValue, ApiKey and SecurityToken Use Case: Implementing Attributes on PIP
  • 26. 26 • By using Accumulo Shell > setauths -s {DOCTOR_ID:23245} -u jim Use Case: Assigning User Attributes
  • 27. • Testing, documentation and performance characterization • Integrating Devera Logic PAP ▫ Policy Governance  Organizational policy AC policy = technical AC policy implementation ▫ Policy Integrity  AC policy conflict and omissions management ▫ Policy Performance  Productive and scalable XACML Current Work 27
  • 28. • Open source • Build Community ▫ gurcan@deveralogic.com ▫ info@deveralogic.com Next Steps 28
  • 29. 29 • AC Policy requirements ▫ A customer's records should only be accessed by her broker. ▫ Her broker may change over the course of time. ▫ Her broker may only access her records during business hours. ▫ Her broker may only access her records while physically in an office. Bonus Content: Use Case – Broker
  • 30. 30 • Possible Attribute Use Case – Broker Attribute Name Possible Values ROLE CUSTOMER | BROKER TIMEOFDAY [00:00:00, 23:59:59] DAYOFWEEK MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY | SUNDAY LOCATION OFFICE_XYZ | NOT_IN_OFFICE IS_CUSTOMERS_BROKER True | False BROKER_ID Any unique alphanumeric identifier
  • 31. 31 Policy Definition: Policy: In_Office_Policy - First applicable Target: Location regexp-match Office_[0-9] [0-9] [0-9] and Role matches Broker and isCustomersBroker matches True Rule: Allow_During_Wek_Day – Permit Target: DayOfTheWeek matches one of Monday, Tuesday, Wednesday, Thursday, Friday Condition: TimeOfTheDay after or on 09:00:00 and TimeOfTheDay before or on 17:30:00 Rule: Deny_Other_Requests – Deny Target: any Use Case: As implemented in Devera Logic PAP
  • 32. 32 • By using Accumulo Shell > setauths -s {ROLE:BROKER},{BROKER_ID:13213-4124-23245} -u jim • To read the data simply call scan > scan Use Case: Assigning User Attributes