SlideShare a Scribd company logo
1 of 39
YAFA-SOA: a GA-based Optimizer for Optimizing
Security and Cost in Service Compositions
Authors:
Wafaa Radwan
Dr. Yousef Hassouneh
Dr. Abdel Salam Sayyad
Dr. Nariman Ammar
May 2017
Motivation
 Services are aggregate in patterns to form a Service
Composition (SC).
 Each service has functional and nonfunctional (QoS)
features.
 QoS is the difference between services that provides same
functionality.
 QoS of the SC depends on the QoS of the aggregated
services in the composition.
Motivation
 SOA Optimizing required selecting a best group of
services that fulfill system functional and non-functional
requirements.
 SOA Optimization is infeasible manually.
 Software engineers need an effective way to automate the
SOA optimization problem.
 IT can be considered as a SBSE problem and can benefit
from the heuristic search approach.
 Genetic algorithms (GA) are used to solve optimization
problems based on heuristic search.
 We develop Yafa SOA optimizer to optimize SOA based
on Security and cost.
Contributions
 In SBSE:
Using GA to optimize SOA in term of cost and security.
 In GA:
Extend NSGA-II in new experimental context which is optimize SOA in term of
cost an security.
 In security risk assessment:
 Adapting Dread model to assess service security and add new
categorization depending on selected service attributes.
 Using aggregation rules to evaluate SC security and cost from the QoS of
the aggregated services in the SC.
 Enhance service composition security by adding security services and
reducing the risk severities.
Running example
 Airline reservation system (ARS) is used as a case study.
 SOA is presented using BPMN and aggregation patterns.
 ARS can be divided into four sub process based on the functionality and the aggregation
patterns.
 Each sub process contains a group of abstract services.
 Each abstract service can be mapped to a concrete service from the service registry.
 Services may be aggregated to form a service composition (SC).
 There is a large number of concrete SCs, each of which could be a candidate for an
optimized solution
Running example – ARS BP4
Service Structure
 Select a group of well known attributes that can reflect how secure the service is.
Avoid using the security information that is provided by the service provider:
 Inaccurate
 It is one of the drawbacks for risk estimation is.
Service structure
ID
Class
Functionality
SP
Cost
SPRate
Packet
filtering
redundancy
Failover
History
backup
EncryptionStorage
Encryption
Transaction
tested
Logging
Enabled
TLS
Digital
Signature
Authentication
S1,1 T1 Validate Authentication X 8.6 2 1 1 0.37 1 0 0 0 1 1 1 1
Proposed Service Structure Example.
Color Meaning
Simulation
Given
Service
registry
Aggregation Patterns
There are five types of service composition basic
control Patterns
The global QoS for security and cost are calculated
using aggregation rules
Aggregation Rules (Calculating Cost)
Pattern Maximum cost Minimum cost
Sequential execution patterns
Sequence 𝐗𝐚 =
𝒊=𝟏
𝒏
𝐗𝐢 𝐗𝐚 =
𝒊=𝟏
𝒏
𝐗𝐢
Loop
𝐗𝐚 = 𝐤𝐱 𝐗𝐚 = 𝐤𝐱
Parallel composition patterns
XOR-XOR
𝐗𝐚 = 𝐦𝐚𝐱{𝐱, … , 𝐱𝐧} 𝐗𝐚 = 𝒎𝒊𝒏{𝐱, … , 𝐱𝐧}
AND- AND 𝐗𝐚 =
𝒊=𝟏
𝒏
𝐗𝐢 𝐗𝐚 =
𝒊=𝟏
𝒏
𝐗𝐢
AND-DISC 𝐗𝐚 =
𝒊=𝟏
𝒏
𝐗𝐢 𝐗𝐚 =
𝒊=𝟏
𝒏
𝐗𝐢
OR-OR
𝐗𝐚 = 𝐦𝐚𝐱{𝐳: 𝐳 =
𝒚∈𝑺
𝒏
𝐲, ∀𝐒 ∈ 𝓟(𝕋) 𝐗𝐚 = 𝐦𝐢𝐧{𝐳: 𝐳 =
𝒚∈𝑺
𝒏
𝐲, ∀𝐒 ∈ 𝓟(𝕋)
OR-DISC
𝐗𝐚 = 𝐦𝐚𝐱{𝐳: 𝐳 =
𝒚∈𝑺
𝒏
𝐲, ∀𝐒 ∈ 𝓟(𝕋) 𝐗𝐚 = 𝐦𝐢𝐧{𝐳: 𝐳 =
𝒚∈𝑺
𝒏
𝐲, ∀𝐒 ∈ 𝓟(𝕋)
Aggregation rules(Calculating Security)
Composition pattern Security
Sequential execution patterns
Sequence 𝐗𝐚 = 𝐦𝐢𝐧{𝐱, … , 𝐱𝐧}
Loop 𝐗𝐚 = 𝐱
Parallel composition patterns
XOR-XOR 𝐗𝐚 = 𝐦𝐢𝐧{𝐱, … , 𝐱𝐧}
AND- AND 𝐗𝐚 = 𝐦𝐢𝐧{𝐱, … , 𝐱𝐧}
AND-DISC 𝐗𝐚 = 𝐦𝐢𝐧{𝐱, … , 𝐱𝐧}
OR-OR 𝐗𝐚 = 𝐦𝐢𝐧(𝓟(𝕋))
OR-DISC 𝐗𝐚 = 𝐦𝐢𝐧(𝓟(𝕋))
Representing SOA using Genetic Algorithms
 In general GA consists of four main steps[8]:
 Encoding the problem.
 Creating the initial population.
 Performing mutation and crossover operations, evaluation process
 Selecting next generation chromosomes.
GA Representation
chromosome and supergenes architecture using UML diagram.
GA Representation (continued)
Service Composition architecture example
.. ...S3zS2xS1x Snx
GA objectives
Research objectives are
 Security Risk severity
 Service cost
GA operators
Initial population
Cross Over
Mutation
Evaluation and Selection
Initial population
Initial
population
Cross Over
Mutation
Evaluation
and Selection
Procedure of creating initial population.
Cross Over
Initial
population
Cross Over
Mutation
Evaluation
and Selection
Mutation
 Mutation operator is performed by adding a security service to the generated SC.
 To eliminate the risk of third party threat, the security services are selected
randomly from the same service provider of the functional service.Initial
population
Cross Over
Mutation
Evaluation
and Selection
Evaluation
 Evaluation process is applied using Fitness function.
 In GA there is a fitness function for each objective. There are 2 fitness functions for
cost and security.
 The fitness value indicates the ability of the SC to survive in the next generations.
 Service Security is measured using DREAD.
 The aggregation rules are used to calculate SC security and cost.
Initial
population
Cross Over
Mutation
Evaluation
and Selection
Assessing Service security Risk using DREAD model
 DREAD model depend on the following factors to evaluate risk the threat risk
 Potential Damage (D) shows the damage degree when the threat occurs.
 Reproducibility (R) is the probability to reproduce the risk.
 Exploitability (E) shows how it easy for the risk to happen.
 Affected (A) indicates the number of affected users.
 Discoverability (D) is the system availability to detect the vulnerability
𝑹𝒂𝒕𝒊𝒏𝒈 = 𝑫 + 𝑹 + 𝑬 + 𝑨 + 𝑫/ 𝑫 + 𝑹 + 𝑬 + 𝑨 + 𝑫
Initial
population
Cross Over
Mutation
Evaluation
and Selection
Assessing Service security Risk using the DREAD Model
YAFA SOA Optimizer
YAFA-SOA system architecture.
Service Structure
Service Structure
Redundancy
ID
PF
Class
Cost
SP
Functionality
SPRate
Failover
Backup
Encryption storage
Encryption transaction
Test
Logging Enabeld
TLS
Digital signature
Authentication
Pareto fronts
Service compositions
QoS indicators
Cross over operator
Mutation Operator
(Adding security services )
Evaluation
Initial populations
Services
Threats
Security Services
Results
DREAD Model
(Service Security)
Aggregation Rules
(SC Security)
Fitness Function
YAFA SOA Optimizer- Features
 YAFA SOA optimizer is built by extending Jmetal frame work.
 Jmetal is object oriented Java based framework
 Implements NSGA-II both 4 and 2 objectives optimization problem for each
business process in the case study.
 YAFA SOA optimizer finds Pareto front files and the related generated service
compositions.
YAFA SOA Optimizer
 YAFA SOA Optimizer starts simulation by reading the input files.
 Initial population is created in size of 100 chromosome.
 The cross over operator is called with probability equals 0.9
 The mutation has probability equals 0.9.
 Both mutation and cross over points are selected randomly.
 The number of evaluations equals 25,000 and then it is increased to 100, 000 evaluations.
GA attributes
Parameter Value
Population Size 100
Max Evaluations 25,000 , 100,000
Crossover Probability 0.9
Mutation Probability 0.9
Number of concrete services 10, 100
Example solutions(BP4)
BP4 initial SC example.
Example solutions(BP4)
Running example attributes
Parameter Value
GA NSGA-II
Population Size 100
Max Evaluations 25,000
Crossover Probability 0.9
Mutation Probability 0.9
Number of concrete services 10
Business process (BP) BP4
Example solutions(BP4)continued
BP4- optimized Service Composition example.
Example solutions(BP4)continued
QoS of initial SC
Initial SC with 4 objectives example.
BP4 initial SC with 2 objectives example.
QoS of optimized SC
QoS Value
Cost 30
Security Severity(SS) 0.440781
QoS Value
Cost 49
Confidentiality severity (CS) 0.132723
Integrity Severity (IS) 0.217739
Availability (AS) 0.2275306
BP4 optimized SC with 4 objectives example.
QoS Value
Cost 49
Security Severity(SS) 0.192664
BP4 optimized SC with 2 objectives example.
QoS Value
Cost 30
Confidentiality severity (CS) 0.454929
Integrity Severity (IS) 0.438723
Availability (AS) 0.428692
Pareto Fronts
(Cost = 98, Risk: 0.262174)
(Cost = 49,Risk:0.192664)
(Cost = 24,Risk:0.392664)
Results
Objectives average values for running NSGAII with25,000 evaluations.
10 concrete services 10 concrete services
4 objectives 2 objectives 4 objectives 2 objectives
C I A Cost Security Cost C I A Cost Security Cost
BP1 0.31206 0.22667 0.20428 7.47993 0.24765 3.27163 0.31041 0.22651 0.18711 8.79571 0.23792 7.62121
BP2 0.32196 0.23442 0.22229 6.80308 0.28015 3.63734 0.32286 0.23372 0.22204 7.9814 0.26144 5.59839
BP3 0.31998 0.23218 0.22127 32.9632 0.26863 21.6044 0.31963 0.23198 0.2201 36.8649 0.26037 32.0383
BP4 0.32216 0.23481 0.22272 51.2425 0.28756 27.9471 0.32286 0.23375 0.2223 46.8274 0.28688 33.9934
WB 0.32519 0.23577 0.22951 99.8744 0.26397 77.0267 0.32617 0.23554 0.23093 101.875 0.26456 78.798
Results (continued)
Table 21: objectives average values for running NSGAII with100, 000 evaluations.
10 concrete services 10 concrete services
4 objectives 2 objectives 4 objectives 2 objectives
C I A Cost Security Cost C I A Cost Security Cost
BP1 0.30958 0.22815 0.20736 7.55854 0.23642 3.87865 0.30793 0.22679 0.18324 8.81855 0.23752 6.53591
BP2 0.32209 0.23377 0.22109 6.69969 0.28525 3.00523 0.32264 0.23344 0.22228 8.0959 0.26004 11.6698
BP3 0.31964 0.23217 0.22138 36.7353 0.26359 27.6561 0.31917 0.23151 0.21817 34.8145 0.26165 30.3034
BP4 0.30902 0.22954 0.19132 8.64273 0.28577 26.276 0.30737 0.22681 0.17642 9.32793 0.28567 32.2432
WB 0.32097 0.23251 0.22735 81.8418 0.26331 66.7976 0.32536 0.23555 0.23082 96.4221 0.26331 66.7976
Results (continued)
Median of time values for running NSGAII with25, 000 evaluations
Median of time values for running NSGAII with 100, 000 evaluations.
No. concrete Services BP length 10 100
No. Objectives - 4 2 4 2
BP1 4 787 758 1014 734
BP2 10 23365 9355 18885 7991
BP3 8 20338 13951 18645 13455
BP4 10 21146 21918 23094 15207
WB 32 66893 344433 44641 379436
No. concrete Services BP length 10 100
No. Objectives - 4 2 4 2
BP1 4 3219 8571 3516 7251
BP2 10 107859 44472 8932 31671
BP3 8 96995 57103 85346 60330
BP4 10 2112 825956 2067 152207
WB 32 405117 391237 206238 57779
Results (continued)
Validation
 A security experts validates our work
 We followed architecture trade-off method ATM method
 inputs
 Research goals and results.
 Sample of Pareto Fronts
 List of threats
 List of security requirements
 Services attributes
 Security services
Validation
Evaluation Goals
Confidentiality storage Confidentiality
Transitions Confidentiality
Authorization
service Confidentiality
Integrity storage Integrity
Transitions Integrity
Authorization
service Integrity
Availability storage Availability
Transitions Availability
service Availability
Controls added by security expert
Main Security Objective Controls
Confidentiality
Encryption
Access Control
File Privileges if exist
Integrity
Encryption
Digital Certificate
Test
Availability
Backup
Failover
High availability
Disaster recovery
Redundancy
Test
Validation
SC Results
(0-1)
Validation
Range (0.5-0)
C I A C I A
SC1 0.2 0.3 0.32 0.5 0.15 0.45
SC2 0.28 0.3 0.35 0.15 0.15 0.45
SC3 0.21 0.38 0.56 0.3 0.15 0.1
Conclusion
 Presenting YAFA-SOA optimizer.
 We adapt the DREAD model for security risk assessment by suggesting new
categorizations for calculating DREAD factors based on a proposed service
structure.
 We Generated optimized service composition by adding security services to
the generated composition
 Dividing security to three objectives gives the Software Engineer an accurate
view for the security measurements and enhances the achievement of
security objectives.
Thank you

More Related Content

Similar to YAFA-SOA: a GA-based Optimizer for Optimizing Security and Cost in Service Compositions

CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)
CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)
CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)
CISQ - Consortium for IT Software Quality
 
The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...
The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...
The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...
Omar Jaradat
 
Cloud service ranking with an integration of k-means algorithm and decision-m...
Cloud service ranking with an integration of k-means algorithm and decision-m...Cloud service ranking with an integration of k-means algorithm and decision-m...
Cloud service ranking with an integration of k-means algorithm and decision-m...
IJECEIAES
 

Similar to YAFA-SOA: a GA-based Optimizer for Optimizing Security and Cost in Service Compositions (20)

Large scale data capture and experimentation platform at Grab
Large scale data capture and experimentation platform at GrabLarge scale data capture and experimentation platform at Grab
Large scale data capture and experimentation platform at Grab
 
CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)
CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)
CISQ and Software Quality Measurement - Software Assurance Forum (March 2010)
 
SAP consulting results
SAP consulting resultsSAP consulting results
SAP consulting results
 
IRJET- Automated CV Classification using Clustering Technique
IRJET- Automated CV Classification using Clustering TechniqueIRJET- Automated CV Classification using Clustering Technique
IRJET- Automated CV Classification using Clustering Technique
 
Q01231103109
Q01231103109Q01231103109
Q01231103109
 
The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...
The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...
The Role of Architectural Model Checking in Conducting Preliminary Safety Ass...
 
Hidalgo jairo, yandun marco 595
Hidalgo jairo, yandun marco 595Hidalgo jairo, yandun marco 595
Hidalgo jairo, yandun marco 595
 
Svm Classifier Algorithm for Data Stream Mining Using Hive and R
Svm Classifier Algorithm for Data Stream Mining Using Hive and RSvm Classifier Algorithm for Data Stream Mining Using Hive and R
Svm Classifier Algorithm for Data Stream Mining Using Hive and R
 
Cloud service ranking with an integration of k-means algorithm and decision-m...
Cloud service ranking with an integration of k-means algorithm and decision-m...Cloud service ranking with an integration of k-means algorithm and decision-m...
Cloud service ranking with an integration of k-means algorithm and decision-m...
 
Machine Learning Automation using Flask API
Machine Learning Automation using Flask APIMachine Learning Automation using Flask API
Machine Learning Automation using Flask API
 
Driverless Machine Learning Web App
Driverless Machine Learning Web AppDriverless Machine Learning Web App
Driverless Machine Learning Web App
 
Sassy
SassySassy
Sassy
 
Cloudera Movies Data Science Project On Big Data
Cloudera Movies Data Science Project On Big DataCloudera Movies Data Science Project On Big Data
Cloudera Movies Data Science Project On Big Data
 
A tale of experiments on bug prediction
A tale of experiments on bug predictionA tale of experiments on bug prediction
A tale of experiments on bug prediction
 
Static analysis by tools
Static analysis by toolsStatic analysis by tools
Static analysis by tools
 
Configuration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case PrioritizationConfiguration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case Prioritization
 
Chapter 3 - Analytical Techniques
Chapter 3 - Analytical TechniquesChapter 3 - Analytical Techniques
Chapter 3 - Analytical Techniques
 
IRJET - Airplane Crash Analysis and Prediction using Machine Learning
IRJET - Airplane Crash Analysis and Prediction using Machine LearningIRJET - Airplane Crash Analysis and Prediction using Machine Learning
IRJET - Airplane Crash Analysis and Prediction using Machine Learning
 
Role+Of+Testing+In+Sdlc
Role+Of+Testing+In+SdlcRole+Of+Testing+In+Sdlc
Role+Of+Testing+In+Sdlc
 
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
PREDICTING PERFORMANCE OF WEB SERVICES USING SMTQA
 

Recently uploaded

Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
drm1699
 

Recently uploaded (20)

AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 

YAFA-SOA: a GA-based Optimizer for Optimizing Security and Cost in Service Compositions

  • 1. YAFA-SOA: a GA-based Optimizer for Optimizing Security and Cost in Service Compositions Authors: Wafaa Radwan Dr. Yousef Hassouneh Dr. Abdel Salam Sayyad Dr. Nariman Ammar May 2017
  • 2. Motivation  Services are aggregate in patterns to form a Service Composition (SC).  Each service has functional and nonfunctional (QoS) features.  QoS is the difference between services that provides same functionality.  QoS of the SC depends on the QoS of the aggregated services in the composition.
  • 3. Motivation  SOA Optimizing required selecting a best group of services that fulfill system functional and non-functional requirements.  SOA Optimization is infeasible manually.  Software engineers need an effective way to automate the SOA optimization problem.  IT can be considered as a SBSE problem and can benefit from the heuristic search approach.  Genetic algorithms (GA) are used to solve optimization problems based on heuristic search.  We develop Yafa SOA optimizer to optimize SOA based on Security and cost.
  • 4. Contributions  In SBSE: Using GA to optimize SOA in term of cost and security.  In GA: Extend NSGA-II in new experimental context which is optimize SOA in term of cost an security.  In security risk assessment:  Adapting Dread model to assess service security and add new categorization depending on selected service attributes.  Using aggregation rules to evaluate SC security and cost from the QoS of the aggregated services in the SC.  Enhance service composition security by adding security services and reducing the risk severities.
  • 5. Running example  Airline reservation system (ARS) is used as a case study.  SOA is presented using BPMN and aggregation patterns.  ARS can be divided into four sub process based on the functionality and the aggregation patterns.  Each sub process contains a group of abstract services.  Each abstract service can be mapped to a concrete service from the service registry.  Services may be aggregated to form a service composition (SC).  There is a large number of concrete SCs, each of which could be a candidate for an optimized solution
  • 7. Service Structure  Select a group of well known attributes that can reflect how secure the service is. Avoid using the security information that is provided by the service provider:  Inaccurate  It is one of the drawbacks for risk estimation is.
  • 9. Aggregation Patterns There are five types of service composition basic control Patterns The global QoS for security and cost are calculated using aggregation rules
  • 10. Aggregation Rules (Calculating Cost) Pattern Maximum cost Minimum cost Sequential execution patterns Sequence 𝐗𝐚 = 𝒊=𝟏 𝒏 𝐗𝐢 𝐗𝐚 = 𝒊=𝟏 𝒏 𝐗𝐢 Loop 𝐗𝐚 = 𝐤𝐱 𝐗𝐚 = 𝐤𝐱 Parallel composition patterns XOR-XOR 𝐗𝐚 = 𝐦𝐚𝐱{𝐱, … , 𝐱𝐧} 𝐗𝐚 = 𝒎𝒊𝒏{𝐱, … , 𝐱𝐧} AND- AND 𝐗𝐚 = 𝒊=𝟏 𝒏 𝐗𝐢 𝐗𝐚 = 𝒊=𝟏 𝒏 𝐗𝐢 AND-DISC 𝐗𝐚 = 𝒊=𝟏 𝒏 𝐗𝐢 𝐗𝐚 = 𝒊=𝟏 𝒏 𝐗𝐢 OR-OR 𝐗𝐚 = 𝐦𝐚𝐱{𝐳: 𝐳 = 𝒚∈𝑺 𝒏 𝐲, ∀𝐒 ∈ 𝓟(𝕋) 𝐗𝐚 = 𝐦𝐢𝐧{𝐳: 𝐳 = 𝒚∈𝑺 𝒏 𝐲, ∀𝐒 ∈ 𝓟(𝕋) OR-DISC 𝐗𝐚 = 𝐦𝐚𝐱{𝐳: 𝐳 = 𝒚∈𝑺 𝒏 𝐲, ∀𝐒 ∈ 𝓟(𝕋) 𝐗𝐚 = 𝐦𝐢𝐧{𝐳: 𝐳 = 𝒚∈𝑺 𝒏 𝐲, ∀𝐒 ∈ 𝓟(𝕋)
  • 11. Aggregation rules(Calculating Security) Composition pattern Security Sequential execution patterns Sequence 𝐗𝐚 = 𝐦𝐢𝐧{𝐱, … , 𝐱𝐧} Loop 𝐗𝐚 = 𝐱 Parallel composition patterns XOR-XOR 𝐗𝐚 = 𝐦𝐢𝐧{𝐱, … , 𝐱𝐧} AND- AND 𝐗𝐚 = 𝐦𝐢𝐧{𝐱, … , 𝐱𝐧} AND-DISC 𝐗𝐚 = 𝐦𝐢𝐧{𝐱, … , 𝐱𝐧} OR-OR 𝐗𝐚 = 𝐦𝐢𝐧(𝓟(𝕋)) OR-DISC 𝐗𝐚 = 𝐦𝐢𝐧(𝓟(𝕋))
  • 12. Representing SOA using Genetic Algorithms  In general GA consists of four main steps[8]:  Encoding the problem.  Creating the initial population.  Performing mutation and crossover operations, evaluation process  Selecting next generation chromosomes.
  • 13. GA Representation chromosome and supergenes architecture using UML diagram.
  • 14. GA Representation (continued) Service Composition architecture example .. ...S3zS2xS1x Snx
  • 15. GA objectives Research objectives are  Security Risk severity  Service cost
  • 16. GA operators Initial population Cross Over Mutation Evaluation and Selection
  • 17. Initial population Initial population Cross Over Mutation Evaluation and Selection Procedure of creating initial population.
  • 19. Mutation  Mutation operator is performed by adding a security service to the generated SC.  To eliminate the risk of third party threat, the security services are selected randomly from the same service provider of the functional service.Initial population Cross Over Mutation Evaluation and Selection
  • 20. Evaluation  Evaluation process is applied using Fitness function.  In GA there is a fitness function for each objective. There are 2 fitness functions for cost and security.  The fitness value indicates the ability of the SC to survive in the next generations.  Service Security is measured using DREAD.  The aggregation rules are used to calculate SC security and cost. Initial population Cross Over Mutation Evaluation and Selection
  • 21. Assessing Service security Risk using DREAD model  DREAD model depend on the following factors to evaluate risk the threat risk  Potential Damage (D) shows the damage degree when the threat occurs.  Reproducibility (R) is the probability to reproduce the risk.  Exploitability (E) shows how it easy for the risk to happen.  Affected (A) indicates the number of affected users.  Discoverability (D) is the system availability to detect the vulnerability 𝑹𝒂𝒕𝒊𝒏𝒈 = 𝑫 + 𝑹 + 𝑬 + 𝑨 + 𝑫/ 𝑫 + 𝑹 + 𝑬 + 𝑨 + 𝑫 Initial population Cross Over Mutation Evaluation and Selection
  • 22. Assessing Service security Risk using the DREAD Model
  • 23. YAFA SOA Optimizer YAFA-SOA system architecture. Service Structure Service Structure Redundancy ID PF Class Cost SP Functionality SPRate Failover Backup Encryption storage Encryption transaction Test Logging Enabeld TLS Digital signature Authentication Pareto fronts Service compositions QoS indicators Cross over operator Mutation Operator (Adding security services ) Evaluation Initial populations Services Threats Security Services Results DREAD Model (Service Security) Aggregation Rules (SC Security) Fitness Function
  • 24. YAFA SOA Optimizer- Features  YAFA SOA optimizer is built by extending Jmetal frame work.  Jmetal is object oriented Java based framework  Implements NSGA-II both 4 and 2 objectives optimization problem for each business process in the case study.  YAFA SOA optimizer finds Pareto front files and the related generated service compositions.
  • 25. YAFA SOA Optimizer  YAFA SOA Optimizer starts simulation by reading the input files.  Initial population is created in size of 100 chromosome.  The cross over operator is called with probability equals 0.9  The mutation has probability equals 0.9.  Both mutation and cross over points are selected randomly.  The number of evaluations equals 25,000 and then it is increased to 100, 000 evaluations. GA attributes Parameter Value Population Size 100 Max Evaluations 25,000 , 100,000 Crossover Probability 0.9 Mutation Probability 0.9 Number of concrete services 10, 100
  • 27. Example solutions(BP4) Running example attributes Parameter Value GA NSGA-II Population Size 100 Max Evaluations 25,000 Crossover Probability 0.9 Mutation Probability 0.9 Number of concrete services 10 Business process (BP) BP4
  • 28. Example solutions(BP4)continued BP4- optimized Service Composition example.
  • 29. Example solutions(BP4)continued QoS of initial SC Initial SC with 4 objectives example. BP4 initial SC with 2 objectives example. QoS of optimized SC QoS Value Cost 30 Security Severity(SS) 0.440781 QoS Value Cost 49 Confidentiality severity (CS) 0.132723 Integrity Severity (IS) 0.217739 Availability (AS) 0.2275306 BP4 optimized SC with 4 objectives example. QoS Value Cost 49 Security Severity(SS) 0.192664 BP4 optimized SC with 2 objectives example. QoS Value Cost 30 Confidentiality severity (CS) 0.454929 Integrity Severity (IS) 0.438723 Availability (AS) 0.428692
  • 30. Pareto Fronts (Cost = 98, Risk: 0.262174) (Cost = 49,Risk:0.192664) (Cost = 24,Risk:0.392664)
  • 31. Results Objectives average values for running NSGAII with25,000 evaluations. 10 concrete services 10 concrete services 4 objectives 2 objectives 4 objectives 2 objectives C I A Cost Security Cost C I A Cost Security Cost BP1 0.31206 0.22667 0.20428 7.47993 0.24765 3.27163 0.31041 0.22651 0.18711 8.79571 0.23792 7.62121 BP2 0.32196 0.23442 0.22229 6.80308 0.28015 3.63734 0.32286 0.23372 0.22204 7.9814 0.26144 5.59839 BP3 0.31998 0.23218 0.22127 32.9632 0.26863 21.6044 0.31963 0.23198 0.2201 36.8649 0.26037 32.0383 BP4 0.32216 0.23481 0.22272 51.2425 0.28756 27.9471 0.32286 0.23375 0.2223 46.8274 0.28688 33.9934 WB 0.32519 0.23577 0.22951 99.8744 0.26397 77.0267 0.32617 0.23554 0.23093 101.875 0.26456 78.798
  • 32. Results (continued) Table 21: objectives average values for running NSGAII with100, 000 evaluations. 10 concrete services 10 concrete services 4 objectives 2 objectives 4 objectives 2 objectives C I A Cost Security Cost C I A Cost Security Cost BP1 0.30958 0.22815 0.20736 7.55854 0.23642 3.87865 0.30793 0.22679 0.18324 8.81855 0.23752 6.53591 BP2 0.32209 0.23377 0.22109 6.69969 0.28525 3.00523 0.32264 0.23344 0.22228 8.0959 0.26004 11.6698 BP3 0.31964 0.23217 0.22138 36.7353 0.26359 27.6561 0.31917 0.23151 0.21817 34.8145 0.26165 30.3034 BP4 0.30902 0.22954 0.19132 8.64273 0.28577 26.276 0.30737 0.22681 0.17642 9.32793 0.28567 32.2432 WB 0.32097 0.23251 0.22735 81.8418 0.26331 66.7976 0.32536 0.23555 0.23082 96.4221 0.26331 66.7976
  • 33. Results (continued) Median of time values for running NSGAII with25, 000 evaluations Median of time values for running NSGAII with 100, 000 evaluations. No. concrete Services BP length 10 100 No. Objectives - 4 2 4 2 BP1 4 787 758 1014 734 BP2 10 23365 9355 18885 7991 BP3 8 20338 13951 18645 13455 BP4 10 21146 21918 23094 15207 WB 32 66893 344433 44641 379436 No. concrete Services BP length 10 100 No. Objectives - 4 2 4 2 BP1 4 3219 8571 3516 7251 BP2 10 107859 44472 8932 31671 BP3 8 96995 57103 85346 60330 BP4 10 2112 825956 2067 152207 WB 32 405117 391237 206238 57779
  • 35. Validation  A security experts validates our work  We followed architecture trade-off method ATM method  inputs  Research goals and results.  Sample of Pareto Fronts  List of threats  List of security requirements  Services attributes  Security services
  • 36. Validation Evaluation Goals Confidentiality storage Confidentiality Transitions Confidentiality Authorization service Confidentiality Integrity storage Integrity Transitions Integrity Authorization service Integrity Availability storage Availability Transitions Availability service Availability Controls added by security expert Main Security Objective Controls Confidentiality Encryption Access Control File Privileges if exist Integrity Encryption Digital Certificate Test Availability Backup Failover High availability Disaster recovery Redundancy Test
  • 37. Validation SC Results (0-1) Validation Range (0.5-0) C I A C I A SC1 0.2 0.3 0.32 0.5 0.15 0.45 SC2 0.28 0.3 0.35 0.15 0.15 0.45 SC3 0.21 0.38 0.56 0.3 0.15 0.1
  • 38. Conclusion  Presenting YAFA-SOA optimizer.  We adapt the DREAD model for security risk assessment by suggesting new categorizations for calculating DREAD factors based on a proposed service structure.  We Generated optimized service composition by adding security services to the generated composition  Dividing security to three objectives gives the Software Engineer an accurate view for the security measurements and enhances the achievement of security objectives.

Editor's Notes

  1. Solving a problem in GA contains 4 steps encoding the problem, creating the initial population, performing mutation and crossover operations, evaluation process, and finally selecting next generation chromosomes.