SlideShare a Scribd company logo
Extending AOP Principles for the
Description of Network Security
Patterns
David Llewellyn-Jones, Qi Shi, Madjid Merabti
Cyberpatterns 2012, Abingdon, Oxfordshire, UK, 10th July 2012


PROTECT
Research Centre for Critical Infrastructure Computer Technology and Protection
School of Computing and Mathematical Sciences
Liverpool John Moores University, Byrom Street, Liverpool L3 3AF, UK
Email: D.Llewellyn-Jones@ljmu.ac.uk
Web: http://www.ljmu.ac.uk/cmp/
Overview


• Aspect Oriented Programming
• Security concerns
• Specifying network security point-cuts
  – Requirements
  – Examples
  – Language
• Application Example
• Conclusion
• Ensuring Trustworthiness and Security in Service
  Composition

• http://www.aniketos.eu/

• The research leading to these results has received
  funding from the European Union Seventh
  Framework Programme (FP7/2007-2013) under
  grant no 257930 (Aniketos)
•   Monitoring; trust and security analysis; recomposition and adaptation
Aspect Oriented Programming


• Programming or development paradigm
• Object Oriented Programming
  – Encapsulates related data and
    functionality all in one place
  – Hierarchical classes
     • Inheritance
     • Generalisation
     • Class attribute
  – Hard to capture cross-cutting concerns
Cross-Cutting Concerns
Aspect Oriented Programming


• Orthogonal to Object Oriented
  Programming
• Cross-Cutting Concerns
  – Similar functionality
  – Multiple places throughout
• Example
  – Data logging
Security Concerns


• Security
  – Classic cross-cutting concern
  – Apply in many places throughout code
  – Requires consistent approach
• Examples
  – Authorisation
  – Access control
  – Data tagging
AOP Glossary


• Aspect
   – The feature to be added
• Join-Point
   – Potential
• Point-Cut
   – Actual
• Advice
   – Code to be injected
• Aspect weaving
   – The process of adding advice to code
Join-Points


• Join-points
  – Method calls
  – Initialisation
  – Get/set
• Application
  – Before
  – After
  – Around
• Dictates power of AOP technique
Join-Point Example

<pointcut_definition id="c1">
     <time>after</time>
     <joinpoint_type>
          <constructorcall>
                <constructor_signature>
                      <qualified_class_name>
                            <namespace><type_name>*</type_name></namespace>
                            <class><identifier_name>FormCipher</identifier_name></class>
                      </qualified_class_name>
                </constructor_signature>
          </constructorcall>
     </joinpoint_type>
</pointcut_definition>

<advice_definition idAdvice="DandelionAspectAddClient" idTypeOfInjection="StaticInjection">
     <assembly>Gryffindor.Aspect.Dandelion.dll</assembly>
     <type>Gryffindor.Aspect.Dandelion.DandelionAspect</type>
     <behaviour>AddEncrypter</behaviour>
     <priority>1</priority>
     <pointcut_definitionRef idRef="c1"/>
</advice_definition>
Reflection


• Aspects can be inserted at compile time
   – Static aspect weaving
• Introspection
   – Allow analysis of code at runtime
• Intercession
   – Allow code to be altered at runtime
   – Insert new code, redefine language
• Allows aspects inserted at runtime
   – Dynamic aspect weaving
Network Security


• Ideal, in theory
   – Apply aspects to services at runtime
   – Improve security based on dynamic
     composition and policy
• Problematic, in practice
   – Point-cuts apply to single codebase
   – Applied universally
   – Distributed systems need different but
     related techniques in different places
Encryption Aspects


                       Communication



             Encrypt                   Decrypt

                       Communication




• Often need to apply to multiple systems
   – Different related aspects
   – Not naturally covered by existing join-point
     definition languages
• Need language to define this
Join-Point Language Requirements


1. Capture sequences of more than two systems

2. Match multiple sets of networked systems

3. Be determinate

4. Based on code and relationship between systems

5. Aspect code related to join-point and existing code
Secure Data Forwarding


H                            H

L                            L



H           L                H
End-to-End Security




A   B     B          B        B   A




A   B     B          B        B   A
Separation of Duty


                         B
A
                         B



                         B
A
                         B
Patterns


• We aim to define a language for defining
  patterns
• Combine with existing in-code join-point
  definitions
• Allow complex relationships between
  networked systems to be defined
• Both global and distributed application
Multiple Join-Point Definition


• Notation
Patterns


• Single template




• Pattern of templates
Secure Data Forwarding



H           L                H
End-to-End Security



A   B     B          B        B   A
Separation of Duty


                         B
A
                         B
AOP Applied to Security


                   • Client-Server chat application
                        – Cleartext communication
                   • Encryption/Decryption service
                   • Aspects re-route data flow
Communication




                        – Different aspects for client
                          and server


                   Miguel García, David Llewellyn-Jones, Francisco Ortin, Madjid
                   Merabti, "Applying dynamic separation of aspects to distributed
                   systems security: a case study", IET Software, Volume 6, Issue
                   3, pp. 165-282, June 2012.
AOP Applied to Security


     Communication




                          Communication
     Communication
Discussion


• Why choose this method?
   – Flexibility
   – Aim for all computable sets of networks
   – Distributed or centralised
• Practical application
   – Definition and aspects still to be combined
• Challenges
   – Difficult to define
   – Aspects are specialised, not generalised
Future Work


• Practical
  – Restatement in XML format
  – Integrate with join-point definition language
  – Reason and apply to real code
• Theoretical
  – Measure expressivity of the language
  – Formalise currently unspecified aspects
  – Define security patterns
Conclusion


• Security is a cross-cutting concern
• Existing AOP point-cuts are not designed for
  networked systems
• A way of relating aspects to distributed
  systems is needed for security
• Propose initial method for defining point-cut
  patterns

More Related Content

Viewers also liked

Christmas In July
Christmas In JulyChristmas In July
Christmas In July
reesmorgan
 
Soc july-2012-dmitri-botvich
Soc july-2012-dmitri-botvichSoc july-2012-dmitri-botvich
Soc july-2012-dmitri-botvich
Aniketos EU FP7 Project
 
Demo summer soc-28062012
Demo summer soc-28062012Demo summer soc-28062012
Demo summer soc-28062012
Aniketos EU FP7 Project
 
Manual on pavement_design_atj_j_5-85
Manual on pavement_design_atj_j_5-85Manual on pavement_design_atj_j_5-85
Manual on pavement_design_atj_j_5-85
Sopha Mustafa
 
Disaster Recovery Status Report 22 Feb2012
Disaster Recovery Status Report 22 Feb2012Disaster Recovery Status Report 22 Feb2012
Disaster Recovery Status Report 22 Feb2012
reesmorgan
 
A heuristic approach for secure service composition adaptation final
A heuristic approach for secure service composition adaptation finalA heuristic approach for secure service composition adaptation final
A heuristic approach for secure service composition adaptation final
Aniketos EU FP7 Project
 
Privacy identity and trust challenges for the future internet citizen fabio...
Privacy identity and trust challenges for the future internet citizen   fabio...Privacy identity and trust challenges for the future internet citizen   fabio...
Privacy identity and trust challenges for the future internet citizen fabio...
Aniketos EU FP7 Project
 
Wewst11 trustworthiness monitoring of dynamic service compositions v2
Wewst11 trustworthiness monitoring of dynamic service compositions v2Wewst11 trustworthiness monitoring of dynamic service compositions v2
Wewst11 trustworthiness monitoring of dynamic service compositions v2
Aniketos EU FP7 Project
 
Panduan penyediaan rp
Panduan penyediaan rpPanduan penyediaan rp
Panduan penyediaan rpSopha Mustafa
 
TSSG paper for International Symposium on Integrated Network Management (IM)
TSSG paper for International Symposium on Integrated Network Management (IM) TSSG paper for International Symposium on Integrated Network Management (IM)
TSSG paper for International Symposium on Integrated Network Management (IM)
Aniketos EU FP7 Project
 
Smm 2015 exercise 2
Smm 2015   exercise 2Smm 2015   exercise 2
Smm 2015 exercise 2
Lester Lasrado
 
globalisasi
globalisasiglobalisasi
globalisasi
Sopha Mustafa
 

Viewers also liked (12)

Christmas In July
Christmas In JulyChristmas In July
Christmas In July
 
Soc july-2012-dmitri-botvich
Soc july-2012-dmitri-botvichSoc july-2012-dmitri-botvich
Soc july-2012-dmitri-botvich
 
Demo summer soc-28062012
Demo summer soc-28062012Demo summer soc-28062012
Demo summer soc-28062012
 
Manual on pavement_design_atj_j_5-85
Manual on pavement_design_atj_j_5-85Manual on pavement_design_atj_j_5-85
Manual on pavement_design_atj_j_5-85
 
Disaster Recovery Status Report 22 Feb2012
Disaster Recovery Status Report 22 Feb2012Disaster Recovery Status Report 22 Feb2012
Disaster Recovery Status Report 22 Feb2012
 
A heuristic approach for secure service composition adaptation final
A heuristic approach for secure service composition adaptation finalA heuristic approach for secure service composition adaptation final
A heuristic approach for secure service composition adaptation final
 
Privacy identity and trust challenges for the future internet citizen fabio...
Privacy identity and trust challenges for the future internet citizen   fabio...Privacy identity and trust challenges for the future internet citizen   fabio...
Privacy identity and trust challenges for the future internet citizen fabio...
 
Wewst11 trustworthiness monitoring of dynamic service compositions v2
Wewst11 trustworthiness monitoring of dynamic service compositions v2Wewst11 trustworthiness monitoring of dynamic service compositions v2
Wewst11 trustworthiness monitoring of dynamic service compositions v2
 
Panduan penyediaan rp
Panduan penyediaan rpPanduan penyediaan rp
Panduan penyediaan rp
 
TSSG paper for International Symposium on Integrated Network Management (IM)
TSSG paper for International Symposium on Integrated Network Management (IM) TSSG paper for International Symposium on Integrated Network Management (IM)
TSSG paper for International Symposium on Integrated Network Management (IM)
 
Smm 2015 exercise 2
Smm 2015   exercise 2Smm 2015   exercise 2
Smm 2015 exercise 2
 
globalisasi
globalisasiglobalisasi
globalisasi
 

Similar to 20120709 cyber patterns2012

Addressing Cloud Security with OPA
Addressing Cloud Security with OPAAddressing Cloud Security with OPA
Addressing Cloud Security with OPA
DiemShin
 
SNIA : Swift Object Storage adding EC (Erasure Code)
SNIA : Swift Object Storage adding EC (Erasure Code)SNIA : Swift Object Storage adding EC (Erasure Code)
SNIA : Swift Object Storage adding EC (Erasure Code)
Odinot Stanislas
 
Cryptography Challenges for Computational Privacy in Public Clouds
Cryptography Challenges for Computational Privacy in Public CloudsCryptography Challenges for Computational Privacy in Public Clouds
Cryptography Challenges for Computational Privacy in Public Clouds
Sashank Dara
 
Design patterns
Design patternsDesign patterns
Design patterns
ACCESS Health Digital
 
CJUS 703Biblical Worldview of Corrections Assignment Instruction
CJUS 703Biblical Worldview of Corrections Assignment InstructionCJUS 703Biblical Worldview of Corrections Assignment Instruction
CJUS 703Biblical Worldview of Corrections Assignment Instruction
VinaOconner450
 
Safe and Reliable Embedded Linux Programming: How to Get There
Safe and Reliable Embedded Linux Programming: How to Get ThereSafe and Reliable Embedded Linux Programming: How to Get There
Safe and Reliable Embedded Linux Programming: How to Get There
AdaCore
 
Grid Middleware – Principles, Practice and Potential
Grid Middleware – Principles, Practice and PotentialGrid Middleware – Principles, Practice and Potential
Grid Middleware – Principles, Practice and Potential
Paul Brebner
 
chaitraresume
chaitraresumechaitraresume
chaitraresume
Chaitra Shankar
 
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFIRTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
Gerardo Pardo-Castellote
 
Smart Contracts That Learn
Smart Contracts That LearnSmart Contracts That Learn
Smart Contracts That Learn
Mike Slinn
 
Declarative Programming and a form of SDN
Declarative Programming and a form of SDN Declarative Programming and a form of SDN
Declarative Programming and a form of SDN
Miya Kohno
 
Mk network programmability-03_en
Mk network programmability-03_enMk network programmability-03_en
Mk network programmability-03_en
Miya Kohno
 
Transforming cloud security into an advantage
Transforming cloud security into an advantageTransforming cloud security into an advantage
Transforming cloud security into an advantage
Moshe Ferber
 
110307 cloud security requirements gourley
110307 cloud security requirements gourley110307 cloud security requirements gourley
110307 cloud security requirements gourley
GovCloud Network
 
Enumerating software security design flaws throughout the SSDLC
Enumerating software security design flaws throughout the SSDLCEnumerating software security design flaws throughout the SSDLC
Enumerating software security design flaws throughout the SSDLC
John M. Willis
 
Enumerating software security design flaws throughout the ssdlc cosac - 201...
Enumerating software security design flaws throughout the ssdlc   cosac - 201...Enumerating software security design flaws throughout the ssdlc   cosac - 201...
Enumerating software security design flaws throughout the ssdlc cosac - 201...
John M. Willis
 
David Hedley's Tuesday Tech Talk OSI Model
David Hedley's Tuesday Tech Talk OSI ModelDavid Hedley's Tuesday Tech Talk OSI Model
David Hedley's Tuesday Tech Talk OSI Model
David Hedley
 
A Pragmatic Approach to Network Security Across Your Hybrid Cloud Environment
A Pragmatic Approach to Network Security Across Your Hybrid Cloud EnvironmentA Pragmatic Approach to Network Security Across Your Hybrid Cloud Environment
A Pragmatic Approach to Network Security Across Your Hybrid Cloud Environment
AlgoSec
 
Strayer cis-534-week-4-assignment-1-defense-in-depth-new
Strayer cis-534-week-4-assignment-1-defense-in-depth-newStrayer cis-534-week-4-assignment-1-defense-in-depth-new
Strayer cis-534-week-4-assignment-1-defense-in-depth-new
shyaminfo18
 
Started In Security Now I'm Here
Started In Security Now I'm HereStarted In Security Now I'm Here
Started In Security Now I'm Here
Christopher Grayson
 

Similar to 20120709 cyber patterns2012 (20)

Addressing Cloud Security with OPA
Addressing Cloud Security with OPAAddressing Cloud Security with OPA
Addressing Cloud Security with OPA
 
SNIA : Swift Object Storage adding EC (Erasure Code)
SNIA : Swift Object Storage adding EC (Erasure Code)SNIA : Swift Object Storage adding EC (Erasure Code)
SNIA : Swift Object Storage adding EC (Erasure Code)
 
Cryptography Challenges for Computational Privacy in Public Clouds
Cryptography Challenges for Computational Privacy in Public CloudsCryptography Challenges for Computational Privacy in Public Clouds
Cryptography Challenges for Computational Privacy in Public Clouds
 
Design patterns
Design patternsDesign patterns
Design patterns
 
CJUS 703Biblical Worldview of Corrections Assignment Instruction
CJUS 703Biblical Worldview of Corrections Assignment InstructionCJUS 703Biblical Worldview of Corrections Assignment Instruction
CJUS 703Biblical Worldview of Corrections Assignment Instruction
 
Safe and Reliable Embedded Linux Programming: How to Get There
Safe and Reliable Embedded Linux Programming: How to Get ThereSafe and Reliable Embedded Linux Programming: How to Get There
Safe and Reliable Embedded Linux Programming: How to Get There
 
Grid Middleware – Principles, Practice and Potential
Grid Middleware – Principles, Practice and PotentialGrid Middleware – Principles, Practice and Potential
Grid Middleware – Principles, Practice and Potential
 
chaitraresume
chaitraresumechaitraresume
chaitraresume
 
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFIRTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
RTI/Cisco response to the Software Defined Networks (SDN) OMG RFI
 
Smart Contracts That Learn
Smart Contracts That LearnSmart Contracts That Learn
Smart Contracts That Learn
 
Declarative Programming and a form of SDN
Declarative Programming and a form of SDN Declarative Programming and a form of SDN
Declarative Programming and a form of SDN
 
Mk network programmability-03_en
Mk network programmability-03_enMk network programmability-03_en
Mk network programmability-03_en
 
Transforming cloud security into an advantage
Transforming cloud security into an advantageTransforming cloud security into an advantage
Transforming cloud security into an advantage
 
110307 cloud security requirements gourley
110307 cloud security requirements gourley110307 cloud security requirements gourley
110307 cloud security requirements gourley
 
Enumerating software security design flaws throughout the SSDLC
Enumerating software security design flaws throughout the SSDLCEnumerating software security design flaws throughout the SSDLC
Enumerating software security design flaws throughout the SSDLC
 
Enumerating software security design flaws throughout the ssdlc cosac - 201...
Enumerating software security design flaws throughout the ssdlc   cosac - 201...Enumerating software security design flaws throughout the ssdlc   cosac - 201...
Enumerating software security design flaws throughout the ssdlc cosac - 201...
 
David Hedley's Tuesday Tech Talk OSI Model
David Hedley's Tuesday Tech Talk OSI ModelDavid Hedley's Tuesday Tech Talk OSI Model
David Hedley's Tuesday Tech Talk OSI Model
 
A Pragmatic Approach to Network Security Across Your Hybrid Cloud Environment
A Pragmatic Approach to Network Security Across Your Hybrid Cloud EnvironmentA Pragmatic Approach to Network Security Across Your Hybrid Cloud Environment
A Pragmatic Approach to Network Security Across Your Hybrid Cloud Environment
 
Strayer cis-534-week-4-assignment-1-defense-in-depth-new
Strayer cis-534-week-4-assignment-1-defense-in-depth-newStrayer cis-534-week-4-assignment-1-defense-in-depth-new
Strayer cis-534-week-4-assignment-1-defense-in-depth-new
 
Started In Security Now I'm Here
Started In Security Now I'm HereStarted In Security Now I'm Here
Started In Security Now I'm Here
 

Recently uploaded

Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 

Recently uploaded (20)

Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 

20120709 cyber patterns2012

  • 1. Extending AOP Principles for the Description of Network Security Patterns David Llewellyn-Jones, Qi Shi, Madjid Merabti Cyberpatterns 2012, Abingdon, Oxfordshire, UK, 10th July 2012 PROTECT Research Centre for Critical Infrastructure Computer Technology and Protection School of Computing and Mathematical Sciences Liverpool John Moores University, Byrom Street, Liverpool L3 3AF, UK Email: D.Llewellyn-Jones@ljmu.ac.uk Web: http://www.ljmu.ac.uk/cmp/
  • 2. Overview • Aspect Oriented Programming • Security concerns • Specifying network security point-cuts – Requirements – Examples – Language • Application Example • Conclusion
  • 3. • Ensuring Trustworthiness and Security in Service Composition • http://www.aniketos.eu/ • The research leading to these results has received funding from the European Union Seventh Framework Programme (FP7/2007-2013) under grant no 257930 (Aniketos)
  • 4. Monitoring; trust and security analysis; recomposition and adaptation
  • 5. Aspect Oriented Programming • Programming or development paradigm • Object Oriented Programming – Encapsulates related data and functionality all in one place – Hierarchical classes • Inheritance • Generalisation • Class attribute – Hard to capture cross-cutting concerns
  • 7. Aspect Oriented Programming • Orthogonal to Object Oriented Programming • Cross-Cutting Concerns – Similar functionality – Multiple places throughout • Example – Data logging
  • 8. Security Concerns • Security – Classic cross-cutting concern – Apply in many places throughout code – Requires consistent approach • Examples – Authorisation – Access control – Data tagging
  • 9. AOP Glossary • Aspect – The feature to be added • Join-Point – Potential • Point-Cut – Actual • Advice – Code to be injected • Aspect weaving – The process of adding advice to code
  • 10. Join-Points • Join-points – Method calls – Initialisation – Get/set • Application – Before – After – Around • Dictates power of AOP technique
  • 11. Join-Point Example <pointcut_definition id="c1"> <time>after</time> <joinpoint_type> <constructorcall> <constructor_signature> <qualified_class_name> <namespace><type_name>*</type_name></namespace> <class><identifier_name>FormCipher</identifier_name></class> </qualified_class_name> </constructor_signature> </constructorcall> </joinpoint_type> </pointcut_definition> <advice_definition idAdvice="DandelionAspectAddClient" idTypeOfInjection="StaticInjection"> <assembly>Gryffindor.Aspect.Dandelion.dll</assembly> <type>Gryffindor.Aspect.Dandelion.DandelionAspect</type> <behaviour>AddEncrypter</behaviour> <priority>1</priority> <pointcut_definitionRef idRef="c1"/> </advice_definition>
  • 12. Reflection • Aspects can be inserted at compile time – Static aspect weaving • Introspection – Allow analysis of code at runtime • Intercession – Allow code to be altered at runtime – Insert new code, redefine language • Allows aspects inserted at runtime – Dynamic aspect weaving
  • 13. Network Security • Ideal, in theory – Apply aspects to services at runtime – Improve security based on dynamic composition and policy • Problematic, in practice – Point-cuts apply to single codebase – Applied universally – Distributed systems need different but related techniques in different places
  • 14. Encryption Aspects Communication Encrypt Decrypt Communication • Often need to apply to multiple systems – Different related aspects – Not naturally covered by existing join-point definition languages • Need language to define this
  • 15. Join-Point Language Requirements 1. Capture sequences of more than two systems 2. Match multiple sets of networked systems 3. Be determinate 4. Based on code and relationship between systems 5. Aspect code related to join-point and existing code
  • 17. End-to-End Security A B B B B A A B B B B A
  • 18. Separation of Duty B A B B A B
  • 19. Patterns • We aim to define a language for defining patterns • Combine with existing in-code join-point definitions • Allow complex relationships between networked systems to be defined • Both global and distributed application
  • 21. Patterns • Single template • Pattern of templates
  • 25. AOP Applied to Security • Client-Server chat application – Cleartext communication • Encryption/Decryption service • Aspects re-route data flow Communication – Different aspects for client and server Miguel García, David Llewellyn-Jones, Francisco Ortin, Madjid Merabti, "Applying dynamic separation of aspects to distributed systems security: a case study", IET Software, Volume 6, Issue 3, pp. 165-282, June 2012.
  • 26. AOP Applied to Security Communication Communication Communication
  • 27. Discussion • Why choose this method? – Flexibility – Aim for all computable sets of networks – Distributed or centralised • Practical application – Definition and aspects still to be combined • Challenges – Difficult to define – Aspects are specialised, not generalised
  • 28. Future Work • Practical – Restatement in XML format – Integrate with join-point definition language – Reason and apply to real code • Theoretical – Measure expressivity of the language – Formalise currently unspecified aspects – Define security patterns
  • 29. Conclusion • Security is a cross-cutting concern • Existing AOP point-cuts are not designed for networked systems • A way of relating aspects to distributed systems is needed for security • Propose initial method for defining point-cut patterns