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

Weitere ähnliche Inhalte

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

Ähnlich wie 20120709 cyber patterns2012

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
 
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
 

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

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

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