SlideShare una empresa de Scribd logo
1 de 20
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 1
SECAD 2008
August 01st
2008 Turku, Finland
Security Policy Enforcement for
the OSGi Framework using
Aspect-Oriented Programming
Phu H. Phung and David Sands
Chalmers Univeristy of Technology
Gothenburg, Sweden
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 2
Motivation
• Life cycle mismatch between the vehicle and its
software
– current goal: enable truly open systems, i.e. easy to
add third-party services
• needs to allow potentially untrusted applications access to
sensitive resources
• Simple sandboxing has obviously limitations
– (grants all-or-nothing approach on the basis of trust)
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 3
An example
• “A third party service (in an on-board vehicle
computer) needs to be able to send SMS
messages in order to function properly”
– possible problems of the application
• could be malicious, e.g. send to many messages
• may has bugs, e.g. repeatedly send messages
• Need for more fire-grained security policy, e.g.
– allow a third party application to access SMS service but
restricted receipt address, with a limit on the number of
messages per day, and depending on the vehicle’s
location
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 4
Goals
• Study the application of fine-grained security
policy enforcement in vehicle systems
– Adopting a language-based approach using aspect-
oriented programming with AspectJ compiler
– Considering the application in the context of vehicle
telematics/infotainment systems under the OSGi standard
• Concerned questions
– What classes of reference monitor-style policies can be enforced using
AspectJ?
– How can this approach be integrated with the OSGi platform without making
platform modifications?
– What are the shortcomings of using AspectJ for implementing reference
monitors?
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 5
Outline
• Overview of background strands
– Security Policy Enforcement by Program Transformation
– Aspect-Oriented Programming and AspectJ
• Security policy enforcement in AspectJ
– Classes of security policies in AspectJ
– Other issues related to security policy
• The case study
– The OSGi framework
• Conclusion and future work
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 6
Security Policy Enforcement by
Program Transformation
• New code will be added in security-relevant
actions or events to check the program respects
the security policies
– the modified program is guaranteed not to violate the
policy
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 7
An enforcement example
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 8
Aspect-Oriented Programming and
AspectJ
• Aspect-oriented programming (AOP): a new
programming paradigm
– to modularise cross-cutting functionalities of complex
software systems
• AspectJ is a language that extends Java and
implements the paradigm of AOP
– Pointcut: defines the point and the condition under
which the aspect modifies the behaviour of an
application
– Advice: defines what modifications should be applied
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 9
Outline
• Overview of background strands
– Security Policy Enforcement by Program Transformation
– Aspect-Oriented Programming and AspectJ
• Security policy enforcement in AspectJ
– Classes of security policies in AspectJ
– Other issues related to security policy
• The case study
– The OSGi framework
• Conclusion and future work
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 10
Security policies based on
kinds of response actions
• Suppression policy: prohibiting an action by simply suppressing
(ignoring) it
– E.g.: “suppress the alert message when the vehicle speed is over 80mph”
• Insertion policy: requires insertion of additional code before or
after execution
– E.g.: “store service object in policy handler after the service starts”
• Truncation policy: if the application attempts to perform a
prohibited action then execution will be aborted
– E.g.: stop the application if it attempts to operate the brake system*
• Replacement policy: action should be replaced by a safe
alternative action
– E.g.: replace the method call send(..) by the new method secureSend()''
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 11
Other issues related to security
policy
• Dealing with History-Dependent Policies
– Use security states (variables) to store program history
• System Level and Application Level Security
States
– Each state level is encoded in a file monitored by
appropriate daemon thread
• Dealing with multiple threads
– common states are accessed under mutual exclusion
where states are encoded and synchronized via files
• Interacting among security policies
– by reading and writing states in files
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 12
Outline
• Overview of background strands
– Security Policy Enforcement by Program Transformation
– Aspect-Oriented Programming and AspectJ
• Security policy enforcement in AspectJ
– Classes of security policies in AspectJ
– Other issues related to security policy
• The case study
– The OSGi framework
• Conclusion and future work
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 13
The case study
• J2ME/OSGi standard
– a telematics client application can be downloaded
and installed over the air from a control center
• The study uses the architecture described in the
standard
– Testing on the Knopflerfish open source OSGi
framework for the in-vehicle system.
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 14
The OSGi framework
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 15
The scenario
• A hotel service company offers an infotainment
application for in-vehicle systems that provides
useful information about hotels near by the
vehicle location.
• as in the GST standard
– a driver makes a corresponding request to the
control centre
– The control centre request to the third party
– Install over the air the application
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 16
The deployment model
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 17
Test example
• A simple application bundle simulating the hotel guide
service has been implemented
• Simple security policies reflecting various identified
classes of policies described in AspectJ are used to
weave the bundle
• The woven bundle was re-deployed and run
successfully on the Knopflerfish OSGi framework.
• Several test cases were performed to illustrate that the
defined security polices are correctly enforced for the
bundle.
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 18
Outline
• Overview of background strands
– Security Policy Enforcement by Program Transformation
– Aspect-Oriented Programming and AspectJ
• Security policy enforcement in AspectJ
– Classes of security policies in AspectJ
– Other issues related to security policy
• The case study
– The OSGi framework
• Conclusion and future work
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 19
Concluding remarks
• How various sorts of security policies are
categorised and described in AspectJ has been
illustrated
• Resulted in the first study of security policy
enforcement using an aspect-oriented
programming language in an open system like the
OSGi framework
– based on the more industrially well-know language
without defining any new policy languages
• The security assurance in the study is promising
– (certainly adequate for small examples)
– can be deployed in the OSGi framework
SECAD 2008, Aug 01st
2008, Turku – Finland, Phu H. Phung and David Sands Page 20
Further Work
• The small-scale examples did not encounter
problems with representing history information
explicitly
– larger examples remains to be seen
• Temporal policies could be considered
• The composition of different security policies
• The integration of weaving process and a
middleware to support ``online'' security policy
enforcement at in-vehicle systems.

Más contenido relacionado

Destacado

Fine-grained policy enforcement for untrusted software
Fine-grained policy enforcement for untrusted softwareFine-grained policy enforcement for untrusted software
Fine-grained policy enforcement for untrusted softwarePhú Phùng
 
Self-Protecting JavaScript: A Lightweight Approach to Enforcing Security Poli...
Self-Protecting JavaScript: A Lightweight Approach to Enforcing Security Poli...Self-Protecting JavaScript: A Lightweight Approach to Enforcing Security Poli...
Self-Protecting JavaScript: A Lightweight Approach to Enforcing Security Poli...Phú Phùng
 
Lightweight Self-Protecting JavaScript
Lightweight Self-Protecting JavaScriptLightweight Self-Protecting JavaScript
Lightweight Self-Protecting JavaScriptPhú Phùng
 
Web security: Securing untrusted web content at browsers
Web security: Securing untrusted web content at browsersWeb security: Securing untrusted web content at browsers
Web security: Securing untrusted web content at browsersPhú Phùng
 
Introduction To OSGi
Introduction To OSGiIntroduction To OSGi
Introduction To OSGiccustine
 
Enabling Java 2 Runtime Security with Eclipse Plug-ins - Ted Habeck, Advisory...
Enabling Java 2 Runtime Security with Eclipse Plug-ins - Ted Habeck, Advisory...Enabling Java 2 Runtime Security with Eclipse Plug-ins - Ted Habeck, Advisory...
Enabling Java 2 Runtime Security with Eclipse Plug-ins - Ted Habeck, Advisory...mfrancis
 
The Role of the OSGi Gateway in GST Security Objectives and Architecture - An...
The Role of the OSGi Gateway in GST Security Objectives and Architecture - An...The Role of the OSGi Gateway in GST Security Objectives and Architecture - An...
The Role of the OSGi Gateway in GST Security Objectives and Architecture - An...mfrancis
 
The Web on OSGi: Here's How
The Web on OSGi: Here's HowThe Web on OSGi: Here's How
The Web on OSGi: Here's Howmrdon
 
Open Services Gateway Initiative (OSGI)
Open Services Gateway Initiative (OSGI)Open Services Gateway Initiative (OSGI)
Open Services Gateway Initiative (OSGI)Peter R. Egli
 
Building Secure OSGi Applications
Building Secure OSGi ApplicationsBuilding Secure OSGi Applications
Building Secure OSGi ApplicationsMarcel Offermans
 
Sia door supervisor training 5
Sia door supervisor training 5Sia door supervisor training 5
Sia door supervisor training 5hilario859
 
Benefits of OSGi in Practise
Benefits of OSGi in PractiseBenefits of OSGi in Practise
Benefits of OSGi in PractiseDavid Bosschaert
 
Privacy_Engineering_Privacy Assurance_Lecture-Ecole_Polytechnic_Nice_SA-20150127
Privacy_Engineering_Privacy Assurance_Lecture-Ecole_Polytechnic_Nice_SA-20150127Privacy_Engineering_Privacy Assurance_Lecture-Ecole_Polytechnic_Nice_SA-20150127
Privacy_Engineering_Privacy Assurance_Lecture-Ecole_Polytechnic_Nice_SA-20150127Frank Dawson
 
Raising information security awareness
Raising information security awarenessRaising information security awareness
Raising information security awarenessTerranovatraining
 
Workshop OSGI PPT
Workshop OSGI PPTWorkshop OSGI PPT
Workshop OSGI PPTSummer Lu
 

Destacado (17)

Fine-grained policy enforcement for untrusted software
Fine-grained policy enforcement for untrusted softwareFine-grained policy enforcement for untrusted software
Fine-grained policy enforcement for untrusted software
 
Self-Protecting JavaScript: A Lightweight Approach to Enforcing Security Poli...
Self-Protecting JavaScript: A Lightweight Approach to Enforcing Security Poli...Self-Protecting JavaScript: A Lightweight Approach to Enforcing Security Poli...
Self-Protecting JavaScript: A Lightweight Approach to Enforcing Security Poli...
 
Lightweight Self-Protecting JavaScript
Lightweight Self-Protecting JavaScriptLightweight Self-Protecting JavaScript
Lightweight Self-Protecting JavaScript
 
Web security: Securing untrusted web content at browsers
Web security: Securing untrusted web content at browsersWeb security: Securing untrusted web content at browsers
Web security: Securing untrusted web content at browsers
 
Introduction To OSGi
Introduction To OSGiIntroduction To OSGi
Introduction To OSGi
 
Enabling Java 2 Runtime Security with Eclipse Plug-ins - Ted Habeck, Advisory...
Enabling Java 2 Runtime Security with Eclipse Plug-ins - Ted Habeck, Advisory...Enabling Java 2 Runtime Security with Eclipse Plug-ins - Ted Habeck, Advisory...
Enabling Java 2 Runtime Security with Eclipse Plug-ins - Ted Habeck, Advisory...
 
The Role of the OSGi Gateway in GST Security Objectives and Architecture - An...
The Role of the OSGi Gateway in GST Security Objectives and Architecture - An...The Role of the OSGi Gateway in GST Security Objectives and Architecture - An...
The Role of the OSGi Gateway in GST Security Objectives and Architecture - An...
 
The Web on OSGi: Here's How
The Web on OSGi: Here's HowThe Web on OSGi: Here's How
The Web on OSGi: Here's How
 
Open Services Gateway Initiative (OSGI)
Open Services Gateway Initiative (OSGI)Open Services Gateway Initiative (OSGI)
Open Services Gateway Initiative (OSGI)
 
Building Secure OSGi Applications
Building Secure OSGi ApplicationsBuilding Secure OSGi Applications
Building Secure OSGi Applications
 
Sia door supervisor training 5
Sia door supervisor training 5Sia door supervisor training 5
Sia door supervisor training 5
 
Intro To OSGi
Intro To OSGiIntro To OSGi
Intro To OSGi
 
Benefits of OSGi in Practise
Benefits of OSGi in PractiseBenefits of OSGi in Practise
Benefits of OSGi in Practise
 
Why OSGi?
Why OSGi?Why OSGi?
Why OSGi?
 
Privacy_Engineering_Privacy Assurance_Lecture-Ecole_Polytechnic_Nice_SA-20150127
Privacy_Engineering_Privacy Assurance_Lecture-Ecole_Polytechnic_Nice_SA-20150127Privacy_Engineering_Privacy Assurance_Lecture-Ecole_Polytechnic_Nice_SA-20150127
Privacy_Engineering_Privacy Assurance_Lecture-Ecole_Polytechnic_Nice_SA-20150127
 
Raising information security awareness
Raising information security awarenessRaising information security awareness
Raising information security awareness
 
Workshop OSGI PPT
Workshop OSGI PPTWorkshop OSGI PPT
Workshop OSGI PPT
 

Similar a Security Policy Enforcement for the OSGi Framework using Aspect-Oriented Programming

Model-based security testing
Model-based security testingModel-based security testing
Model-based security testingAxel Rennoch
 
GTRI Splunk Case Studies - Splunk Tech Day
GTRI Splunk Case Studies - Splunk Tech DayGTRI Splunk Case Studies - Splunk Tech Day
GTRI Splunk Case Studies - Splunk Tech DayZivaro Inc
 
F-Secure Cloud Software icgse2013
F-Secure Cloud Software icgse2013F-Secure Cloud Software icgse2013
F-Secure Cloud Software icgse2013Janne Järvinen
 
Mule soft meetup_th_no1
Mule soft meetup_th_no1Mule soft meetup_th_no1
Mule soft meetup_th_no1WendyTey4
 
Mule soft meetup_tw_no1_june17
Mule soft meetup_tw_no1_june17Mule soft meetup_tw_no1_june17
Mule soft meetup_tw_no1_june17WendyTey4
 
Safe & Sec Case Patterns (ASSURE 2015)
Safe & Sec Case Patterns (ASSURE 2015)Safe & Sec Case Patterns (ASSURE 2015)
Safe & Sec Case Patterns (ASSURE 2015)Kenji Taguchi
 
MuleSoft Singapore Meetup May 2020
MuleSoft Singapore Meetup May 2020MuleSoft Singapore Meetup May 2020
MuleSoft Singapore Meetup May 2020Julian Douch
 
Mule soft meetup_hk_june2020
Mule soft meetup_hk_june2020Mule soft meetup_hk_june2020
Mule soft meetup_hk_june2020WendyTey4
 
eTOM framework as key component of process reengineering during implementatio...
eTOM framework as key component of process reengineering during implementatio...eTOM framework as key component of process reengineering during implementatio...
eTOM framework as key component of process reengineering during implementatio...Comarch
 
Ac2017 8. metrics forprivacysafety-notes
Ac2017   8. metrics forprivacysafety-notesAc2017   8. metrics forprivacysafety-notes
Ac2017 8. metrics forprivacysafety-notesNesma
 
Industry day june 2013 standard and research v2
Industry day june 2013   standard and research v2Industry day june 2013   standard and research v2
Industry day june 2013 standard and research v2Dr Nicolas Figay
 
CSA Cloud Trust Protocol and A4Cloud: Enforcing cloud accountability through ...
CSA Cloud Trust Protocol and A4Cloud: Enforcing cloud accountability through ...CSA Cloud Trust Protocol and A4Cloud: Enforcing cloud accountability through ...
CSA Cloud Trust Protocol and A4Cloud: Enforcing cloud accountability through ...The Research Council of Norway, IKTPLUSS
 
Shibboleth Access Management Federations and Secure SDI: ESDIN Experience
Shibboleth Access Management Federations and Secure SDI: ESDIN Experience Shibboleth Access Management Federations and Secure SDI: ESDIN Experience
Shibboleth Access Management Federations and Secure SDI: ESDIN Experience EDINA, University of Edinburgh
 
The ATHENA Interoperability Framework
The ATHENA Interoperability FrameworkThe ATHENA Interoperability Framework
The ATHENA Interoperability FrameworkBrian Elvesæter
 

Similar a Security Policy Enforcement for the OSGi Framework using Aspect-Oriented Programming (20)

Model-based security testing
Model-based security testingModel-based security testing
Model-based security testing
 
1305 eurocloud jfriedrich
1305 eurocloud jfriedrich1305 eurocloud jfriedrich
1305 eurocloud jfriedrich
 
GTRI Splunk Case Studies - Splunk Tech Day
GTRI Splunk Case Studies - Splunk Tech DayGTRI Splunk Case Studies - Splunk Tech Day
GTRI Splunk Case Studies - Splunk Tech Day
 
F-Secure Cloud Software icgse2013
F-Secure Cloud Software icgse2013F-Secure Cloud Software icgse2013
F-Secure Cloud Software icgse2013
 
Mule soft meetup_th_no1
Mule soft meetup_th_no1Mule soft meetup_th_no1
Mule soft meetup_th_no1
 
FIRE and FI-PPP
FIRE and FI-PPPFIRE and FI-PPP
FIRE and FI-PPP
 
Mule soft meetup_tw_no1_june17
Mule soft meetup_tw_no1_june17Mule soft meetup_tw_no1_june17
Mule soft meetup_tw_no1_june17
 
Safe & Sec Case Patterns (ASSURE 2015)
Safe & Sec Case Patterns (ASSURE 2015)Safe & Sec Case Patterns (ASSURE 2015)
Safe & Sec Case Patterns (ASSURE 2015)
 
MuleSoft Singapore Meetup May 2020
MuleSoft Singapore Meetup May 2020MuleSoft Singapore Meetup May 2020
MuleSoft Singapore Meetup May 2020
 
Mule soft meetup_hk_june2020
Mule soft meetup_hk_june2020Mule soft meetup_hk_june2020
Mule soft meetup_hk_june2020
 
eTOM framework as key component of process reengineering during implementatio...
eTOM framework as key component of process reengineering during implementatio...eTOM framework as key component of process reengineering during implementatio...
eTOM framework as key component of process reengineering during implementatio...
 
Ac2017 8. metrics forprivacysafety-notes
Ac2017   8. metrics forprivacysafety-notesAc2017   8. metrics forprivacysafety-notes
Ac2017 8. metrics forprivacysafety-notes
 
Industry day june 2013 standard and research v2
Industry day june 2013   standard and research v2Industry day june 2013   standard and research v2
Industry day june 2013 standard and research v2
 
2019 04-08 hopu-aj
2019 04-08 hopu-aj2019 04-08 hopu-aj
2019 04-08 hopu-aj
 
Security Open Science Grid Doug Olson
Security Open Science Grid Doug OlsonSecurity Open Science Grid Doug Olson
Security Open Science Grid Doug Olson
 
CSA Cloud Trust Protocol and A4Cloud: Enforcing cloud accountability through ...
CSA Cloud Trust Protocol and A4Cloud: Enforcing cloud accountability through ...CSA Cloud Trust Protocol and A4Cloud: Enforcing cloud accountability through ...
CSA Cloud Trust Protocol and A4Cloud: Enforcing cloud accountability through ...
 
Shibboleth Access Management Federations and Secure SDI: ESDIN Experience
Shibboleth Access Management Federations and Secure SDI: ESDIN Experience Shibboleth Access Management Federations and Secure SDI: ESDIN Experience
Shibboleth Access Management Federations and Secure SDI: ESDIN Experience
 
Six Sigma Project
Six Sigma ProjectSix Sigma Project
Six Sigma Project
 
The ATHENA Interoperability Framework
The ATHENA Interoperability FrameworkThe ATHENA Interoperability Framework
The ATHENA Interoperability Framework
 
Video Summarization
Video SummarizationVideo Summarization
Video Summarization
 

Último

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 

Último (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

Security Policy Enforcement for the OSGi Framework using Aspect-Oriented Programming

  • 1. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 1 SECAD 2008 August 01st 2008 Turku, Finland Security Policy Enforcement for the OSGi Framework using Aspect-Oriented Programming Phu H. Phung and David Sands Chalmers Univeristy of Technology Gothenburg, Sweden
  • 2. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 2 Motivation • Life cycle mismatch between the vehicle and its software – current goal: enable truly open systems, i.e. easy to add third-party services • needs to allow potentially untrusted applications access to sensitive resources • Simple sandboxing has obviously limitations – (grants all-or-nothing approach on the basis of trust)
  • 3. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 3 An example • “A third party service (in an on-board vehicle computer) needs to be able to send SMS messages in order to function properly” – possible problems of the application • could be malicious, e.g. send to many messages • may has bugs, e.g. repeatedly send messages • Need for more fire-grained security policy, e.g. – allow a third party application to access SMS service but restricted receipt address, with a limit on the number of messages per day, and depending on the vehicle’s location
  • 4. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 4 Goals • Study the application of fine-grained security policy enforcement in vehicle systems – Adopting a language-based approach using aspect- oriented programming with AspectJ compiler – Considering the application in the context of vehicle telematics/infotainment systems under the OSGi standard • Concerned questions – What classes of reference monitor-style policies can be enforced using AspectJ? – How can this approach be integrated with the OSGi platform without making platform modifications? – What are the shortcomings of using AspectJ for implementing reference monitors?
  • 5. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 5 Outline • Overview of background strands – Security Policy Enforcement by Program Transformation – Aspect-Oriented Programming and AspectJ • Security policy enforcement in AspectJ – Classes of security policies in AspectJ – Other issues related to security policy • The case study – The OSGi framework • Conclusion and future work
  • 6. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 6 Security Policy Enforcement by Program Transformation • New code will be added in security-relevant actions or events to check the program respects the security policies – the modified program is guaranteed not to violate the policy
  • 7. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 7 An enforcement example
  • 8. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 8 Aspect-Oriented Programming and AspectJ • Aspect-oriented programming (AOP): a new programming paradigm – to modularise cross-cutting functionalities of complex software systems • AspectJ is a language that extends Java and implements the paradigm of AOP – Pointcut: defines the point and the condition under which the aspect modifies the behaviour of an application – Advice: defines what modifications should be applied
  • 9. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 9 Outline • Overview of background strands – Security Policy Enforcement by Program Transformation – Aspect-Oriented Programming and AspectJ • Security policy enforcement in AspectJ – Classes of security policies in AspectJ – Other issues related to security policy • The case study – The OSGi framework • Conclusion and future work
  • 10. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 10 Security policies based on kinds of response actions • Suppression policy: prohibiting an action by simply suppressing (ignoring) it – E.g.: “suppress the alert message when the vehicle speed is over 80mph” • Insertion policy: requires insertion of additional code before or after execution – E.g.: “store service object in policy handler after the service starts” • Truncation policy: if the application attempts to perform a prohibited action then execution will be aborted – E.g.: stop the application if it attempts to operate the brake system* • Replacement policy: action should be replaced by a safe alternative action – E.g.: replace the method call send(..) by the new method secureSend()''
  • 11. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 11 Other issues related to security policy • Dealing with History-Dependent Policies – Use security states (variables) to store program history • System Level and Application Level Security States – Each state level is encoded in a file monitored by appropriate daemon thread • Dealing with multiple threads – common states are accessed under mutual exclusion where states are encoded and synchronized via files • Interacting among security policies – by reading and writing states in files
  • 12. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 12 Outline • Overview of background strands – Security Policy Enforcement by Program Transformation – Aspect-Oriented Programming and AspectJ • Security policy enforcement in AspectJ – Classes of security policies in AspectJ – Other issues related to security policy • The case study – The OSGi framework • Conclusion and future work
  • 13. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 13 The case study • J2ME/OSGi standard – a telematics client application can be downloaded and installed over the air from a control center • The study uses the architecture described in the standard – Testing on the Knopflerfish open source OSGi framework for the in-vehicle system.
  • 14. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 14 The OSGi framework
  • 15. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 15 The scenario • A hotel service company offers an infotainment application for in-vehicle systems that provides useful information about hotels near by the vehicle location. • as in the GST standard – a driver makes a corresponding request to the control centre – The control centre request to the third party – Install over the air the application
  • 16. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 16 The deployment model
  • 17. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 17 Test example • A simple application bundle simulating the hotel guide service has been implemented • Simple security policies reflecting various identified classes of policies described in AspectJ are used to weave the bundle • The woven bundle was re-deployed and run successfully on the Knopflerfish OSGi framework. • Several test cases were performed to illustrate that the defined security polices are correctly enforced for the bundle.
  • 18. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 18 Outline • Overview of background strands – Security Policy Enforcement by Program Transformation – Aspect-Oriented Programming and AspectJ • Security policy enforcement in AspectJ – Classes of security policies in AspectJ – Other issues related to security policy • The case study – The OSGi framework • Conclusion and future work
  • 19. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 19 Concluding remarks • How various sorts of security policies are categorised and described in AspectJ has been illustrated • Resulted in the first study of security policy enforcement using an aspect-oriented programming language in an open system like the OSGi framework – based on the more industrially well-know language without defining any new policy languages • The security assurance in the study is promising – (certainly adequate for small examples) – can be deployed in the OSGi framework
  • 20. SECAD 2008, Aug 01st 2008, Turku – Finland, Phu H. Phung and David Sands Page 20 Further Work • The small-scale examples did not encounter problems with representing history information explicitly – larger examples remains to be seen • Temporal policies could be considered • The composition of different security policies • The integration of weaving process and a middleware to support ``online'' security policy enforcement at in-vehicle systems.

Notas del editor

  1. The mechanism needs a language to describe the security policy and a re-write tool to modify a target program.
  2. Our approach is to implement policy enforcement using AspectJ, an ``industrial strength'' aspect oriented programming language. This has benefits of providing a complete and robust tool which can be applied at an appropriate level for this study (i.e. Java bytecode). This choice also presents some challenges and problems that will be discussed in this article.