SlideShare ist ein Scribd-Unternehmen logo
1 von 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.

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 

Kürzlich hochgeladen (20)

Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 

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.

Hinweis der Redaktion

  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.