SlideShare a Scribd company logo
1 of 8
Crossfire DDoS Protection
A Moving Target Defense (MTD) Framework For
Distributed Systems
Presented By: Muhammad Farjad Noor
Introduction
 The most common problem in online hosts & networks are easy targets
of network attacks caused by their static nature. Distributed Denial-of-
Service (DDoS) attacks pose one of the severest security threats to
today’s Internet services.
 Makes an information asymmetry and makes it effortless for the
attackers to attack and hard to defend for the defender .
 To breakdown the asymmetry nature of information, Moving Target
Defense mechanism was proposed to bring uncertainties to computer
systems.
Moving Target Defense
 To transform this attack and defense game, Moving Target Defense –
MTD was proposed by the researchers to break the asymmetry among
the attacker and defender.
 There are many methods that have been proposed to mitigate security
threats using this mechanism.
 The existing studies on MTD can be separated into two levels, network
& system level.
 The network level solutions include IP address reshuffling, network
configuration randomization, and so on.
 The system level MTD methods cover software applications, platform,
and runtime environment. All these methods are still in the phase of
prototype and far from mature for deployment.
IMPLEMENTATION
 In order to achieve the objective we proposed two approaches. Either
by changing the servers with different IPs or by the changing the
communication port of specific server at regular interval of time.
 The whole project can be divided into four major components.
 Client
 DNS Resolver
 Web Server(s)
 Reverse Proxy Server
Cont..
 Client – A client is required to send http(s) request. In our case, Client is our host
machine on which the whole virtualized setup is created using Oracle VirtualBox.
 DNS Resolver – A client does not know the IP behind the website he is requesting. A
DNS resolver is required to resolve the name to IP address. In order to achieve this
objectivity, either you need to setup a DNS service (Bind9 – Famous DNS service for
Linux machine) or you can put a manual entry in local hosts file for DNS resolution.
You can find the file at the following directory if client is using Windows as OS
“C:WindowsSystem32Driversetc”
 Web Server – We created two virtual instances with Ubuntu Server Image (Ubuntu
18.04) on which we installed and configured Apache Server to serve http(s)
requests.
 Reverse Proxy Server – A Reverse Proxy server has been introduced as a middle
layer between Client and Web Server to keep the whole process of re-assignment
and shuffling of IPs or ports transparent to the user. Whenever a client will request,
it will always be redirected to Reverse Proxy server (by the DNS resolver) who will
decide from where the requests can be currently served.
First Approach
 These diagrams depict the two topologies at
random intervals of time. The connection
between Reverse Proxy server and Web
Server will keep changing at regular intervals.
The only major change here will be the
server on which Reverse Proxy is forwarding
all Client requests to Web Server. This re-
assignment/shuffle of server will remain
transparent to requesting Client. This
approach can be restricted to choose
between active servers in some order for
communication or can be used to randomly
select any of them. For now, we have
decided to take two active servers operating
at 192.168.56.5 and 192.168.56.6 for
implementation.
 We have implemented a bash script to
switch reverse proxy server configuration
and add it to cron to execute it at decided
regular interval of time.
Second Approach
 Below diagrams depict the four different topologies at
random intervals of time. The connection between
Reverse Proxy server and Web Server will keep
changing at regular intervals. The only major change
here will be the port on which Reverse Proxy is
forwarding all Client requests to Web Server. This re-
assignment/shuffle of communication ports will remain
transparent to requesting Client. As a security measure,
whenever a new port is assigned for communication. All
other ports that were previously used for
communication will be disabled. This approach can be
restricted to use specified range of ports for
communication or can be expanded to randomly
selected port(s). For now, we have decided to take four
ports from 8888 to 8891 for implementation.
 We have implemented a bash script to switch reverse
proxy server configuration and add it to cron to execute
it at decided regular interval of time.
 SSH password-less login is also required because we
are enabling/disabling the serving port(s) of webserver
from Nginx Reverse Proxy Server using implemented
script.
THANK YOU!

More Related Content

What's hot

What's hot (20)

5. Distributed Operating Systems
5. Distributed Operating Systems5. Distributed Operating Systems
5. Distributed Operating Systems
 
XenApp Load Balancing
XenApp Load BalancingXenApp Load Balancing
XenApp Load Balancing
 
Technical Architectures
Technical ArchitecturesTechnical Architectures
Technical Architectures
 
Coda file system tahir
Coda file system   tahirCoda file system   tahir
Coda file system tahir
 
Client Server Network By Usman Ihsan
Client Server Network By Usman IhsanClient Server Network By Usman Ihsan
Client Server Network By Usman Ihsan
 
Operating system support in distributed system
Operating system support in distributed systemOperating system support in distributed system
Operating system support in distributed system
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
 
Slide05 Message Passing Architecture
Slide05 Message Passing ArchitectureSlide05 Message Passing Architecture
Slide05 Message Passing Architecture
 
Virtual migration cloud
Virtual migration cloudVirtual migration cloud
Virtual migration cloud
 
Dynamic Load balancing Linux private Cloud (DRS)
Dynamic Load balancing Linux private Cloud (DRS)Dynamic Load balancing Linux private Cloud (DRS)
Dynamic Load balancing Linux private Cloud (DRS)
 
Support formobility
Support formobilitySupport formobility
Support formobility
 
Clustering & nlb
Clustering & nlbClustering & nlb
Clustering & nlb
 
Client-centric Consistency Models
Client-centric Consistency ModelsClient-centric Consistency Models
Client-centric Consistency Models
 
CCNA 1 Chapter 10 v5.0 2014
CCNA 1 Chapter 10 v5.0 2014CCNA 1 Chapter 10 v5.0 2014
CCNA 1 Chapter 10 v5.0 2014
 
Print server
Print serverPrint server
Print server
 
Websocket
WebsocketWebsocket
Websocket
 
Cs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT VCs8591 Computer Networks - UNIT V
Cs8591 Computer Networks - UNIT V
 
Client server chat application
Client server chat applicationClient server chat application
Client server chat application
 
Overview usage of ProudNet
Overview usage of ProudNetOverview usage of ProudNet
Overview usage of ProudNet
 
MSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingMSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message Queueing
 

Similar to Crossfire DDoS Protection MTD Framework

lec3_10.ppt
lec3_10.pptlec3_10.ppt
lec3_10.pptImXaib
 
A Survey on CDN Vulnerability to DoS Attacks
A Survey on CDN Vulnerability to DoS AttacksA Survey on CDN Vulnerability to DoS Attacks
A Survey on CDN Vulnerability to DoS AttacksIJCNCJournal
 
A Survey on CDN Vulnerability to DoS Attacks
A Survey on CDN Vulnerability to DoS AttacksA Survey on CDN Vulnerability to DoS Attacks
A Survey on CDN Vulnerability to DoS AttacksIJCNCJournal
 
A Distributed Control Law for Load Balancing in Content Delivery Networks
A Distributed Control Law for Load Balancing in Content Delivery NetworksA Distributed Control Law for Load Balancing in Content Delivery Networks
A Distributed Control Law for Load Balancing in Content Delivery NetworksSruthi Kamal
 
NodeJS guide for beginners
NodeJS guide for beginnersNodeJS guide for beginners
NodeJS guide for beginnersEnoch Joshua
 
Running head SERVERS1Running head SERVERS1.docx
Running head SERVERS1Running head SERVERS1.docxRunning head SERVERS1Running head SERVERS1.docx
Running head SERVERS1Running head SERVERS1.docxcharisellington63520
 
Distributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud ProvisioningDistributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud ProvisioningAr Agarwal
 
Back-End application for Distributed systems
Back-End application for Distributed systemsBack-End application for Distributed systems
Back-End application for Distributed systemsAtif Imam
 
System and network administration network services
System and network administration network servicesSystem and network administration network services
System and network administration network servicesUc Man
 
Client server architecture
Client server architectureClient server architecture
Client server architectureShafique Rehman
 
Load Balancer Device and Configurations.
Load Balancer Device and Configurations.Load Balancer Device and Configurations.
Load Balancer Device and Configurations.Web Werks Data Centers
 
distributed-systemsfghjjjijoijioj-chap3.pptx
distributed-systemsfghjjjijoijioj-chap3.pptxdistributed-systemsfghjjjijoijioj-chap3.pptx
distributed-systemsfghjjjijoijioj-chap3.pptxlencho3d
 
Application server
Application serverApplication server
Application servernava rathna
 
Protecting Browsers from DNS Rebinding AttacksCollin Jacks.docx
Protecting Browsers from DNS Rebinding AttacksCollin Jacks.docxProtecting Browsers from DNS Rebinding AttacksCollin Jacks.docx
Protecting Browsers from DNS Rebinding AttacksCollin Jacks.docxamrit47
 
Desktop interview qestions & answer
Desktop interview qestions & answerDesktop interview qestions & answer
Desktop interview qestions & answermandarshetye45
 
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized API
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized APIImplementing a Solution to the Cloud Vendor Lock-In Using Standardized API
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized APIIJCSIS Research Publications
 

Similar to Crossfire DDoS Protection MTD Framework (20)

Network Testing ques
Network Testing quesNetwork Testing ques
Network Testing ques
 
lec3_10.ppt
lec3_10.pptlec3_10.ppt
lec3_10.ppt
 
A Survey on CDN Vulnerability to DoS Attacks
A Survey on CDN Vulnerability to DoS AttacksA Survey on CDN Vulnerability to DoS Attacks
A Survey on CDN Vulnerability to DoS Attacks
 
A Survey on CDN Vulnerability to DoS Attacks
A Survey on CDN Vulnerability to DoS AttacksA Survey on CDN Vulnerability to DoS Attacks
A Survey on CDN Vulnerability to DoS Attacks
 
A Distributed Control Law for Load Balancing in Content Delivery Networks
A Distributed Control Law for Load Balancing in Content Delivery NetworksA Distributed Control Law for Load Balancing in Content Delivery Networks
A Distributed Control Law for Load Balancing in Content Delivery Networks
 
NodeJS guide for beginners
NodeJS guide for beginnersNodeJS guide for beginners
NodeJS guide for beginners
 
Running head SERVERS1Running head SERVERS1.docx
Running head SERVERS1Running head SERVERS1.docxRunning head SERVERS1Running head SERVERS1.docx
Running head SERVERS1Running head SERVERS1.docx
 
Distributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud ProvisioningDistributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud Provisioning
 
Back-End application for Distributed systems
Back-End application for Distributed systemsBack-End application for Distributed systems
Back-End application for Distributed systems
 
q4 w3 ICT 10.pptx
q4 w3 ICT 10.pptxq4 w3 ICT 10.pptx
q4 w3 ICT 10.pptx
 
System and network administration network services
System and network administration network servicesSystem and network administration network services
System and network administration network services
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
04 Client Server Computing
04 Client Server Computing04 Client Server Computing
04 Client Server Computing
 
Load Balancer Device and Configurations.
Load Balancer Device and Configurations.Load Balancer Device and Configurations.
Load Balancer Device and Configurations.
 
distributed-systemsfghjjjijoijioj-chap3.pptx
distributed-systemsfghjjjijoijioj-chap3.pptxdistributed-systemsfghjjjijoijioj-chap3.pptx
distributed-systemsfghjjjijoijioj-chap3.pptx
 
Application server
Application serverApplication server
Application server
 
Protecting Browsers from DNS Rebinding AttacksCollin Jacks.docx
Protecting Browsers from DNS Rebinding AttacksCollin Jacks.docxProtecting Browsers from DNS Rebinding AttacksCollin Jacks.docx
Protecting Browsers from DNS Rebinding AttacksCollin Jacks.docx
 
Desktop interview qestions & answer
Desktop interview qestions & answerDesktop interview qestions & answer
Desktop interview qestions & answer
 
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized API
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized APIImplementing a Solution to the Cloud Vendor Lock-In Using Standardized API
Implementing a Solution to the Cloud Vendor Lock-In Using Standardized API
 
Coolie @ call
Coolie @ callCoolie @ call
Coolie @ call
 

Recently uploaded

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 

Recently uploaded (20)

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 

Crossfire DDoS Protection MTD Framework

  • 1. Crossfire DDoS Protection A Moving Target Defense (MTD) Framework For Distributed Systems Presented By: Muhammad Farjad Noor
  • 2. Introduction  The most common problem in online hosts & networks are easy targets of network attacks caused by their static nature. Distributed Denial-of- Service (DDoS) attacks pose one of the severest security threats to today’s Internet services.  Makes an information asymmetry and makes it effortless for the attackers to attack and hard to defend for the defender .  To breakdown the asymmetry nature of information, Moving Target Defense mechanism was proposed to bring uncertainties to computer systems.
  • 3. Moving Target Defense  To transform this attack and defense game, Moving Target Defense – MTD was proposed by the researchers to break the asymmetry among the attacker and defender.  There are many methods that have been proposed to mitigate security threats using this mechanism.  The existing studies on MTD can be separated into two levels, network & system level.  The network level solutions include IP address reshuffling, network configuration randomization, and so on.  The system level MTD methods cover software applications, platform, and runtime environment. All these methods are still in the phase of prototype and far from mature for deployment.
  • 4. IMPLEMENTATION  In order to achieve the objective we proposed two approaches. Either by changing the servers with different IPs or by the changing the communication port of specific server at regular interval of time.  The whole project can be divided into four major components.  Client  DNS Resolver  Web Server(s)  Reverse Proxy Server
  • 5. Cont..  Client – A client is required to send http(s) request. In our case, Client is our host machine on which the whole virtualized setup is created using Oracle VirtualBox.  DNS Resolver – A client does not know the IP behind the website he is requesting. A DNS resolver is required to resolve the name to IP address. In order to achieve this objectivity, either you need to setup a DNS service (Bind9 – Famous DNS service for Linux machine) or you can put a manual entry in local hosts file for DNS resolution. You can find the file at the following directory if client is using Windows as OS “C:WindowsSystem32Driversetc”  Web Server – We created two virtual instances with Ubuntu Server Image (Ubuntu 18.04) on which we installed and configured Apache Server to serve http(s) requests.  Reverse Proxy Server – A Reverse Proxy server has been introduced as a middle layer between Client and Web Server to keep the whole process of re-assignment and shuffling of IPs or ports transparent to the user. Whenever a client will request, it will always be redirected to Reverse Proxy server (by the DNS resolver) who will decide from where the requests can be currently served.
  • 6. First Approach  These diagrams depict the two topologies at random intervals of time. The connection between Reverse Proxy server and Web Server will keep changing at regular intervals. The only major change here will be the server on which Reverse Proxy is forwarding all Client requests to Web Server. This re- assignment/shuffle of server will remain transparent to requesting Client. This approach can be restricted to choose between active servers in some order for communication or can be used to randomly select any of them. For now, we have decided to take two active servers operating at 192.168.56.5 and 192.168.56.6 for implementation.  We have implemented a bash script to switch reverse proxy server configuration and add it to cron to execute it at decided regular interval of time.
  • 7. Second Approach  Below diagrams depict the four different topologies at random intervals of time. The connection between Reverse Proxy server and Web Server will keep changing at regular intervals. The only major change here will be the port on which Reverse Proxy is forwarding all Client requests to Web Server. This re- assignment/shuffle of communication ports will remain transparent to requesting Client. As a security measure, whenever a new port is assigned for communication. All other ports that were previously used for communication will be disabled. This approach can be restricted to use specified range of ports for communication or can be expanded to randomly selected port(s). For now, we have decided to take four ports from 8888 to 8891 for implementation.  We have implemented a bash script to switch reverse proxy server configuration and add it to cron to execute it at decided regular interval of time.  SSH password-less login is also required because we are enabling/disabling the serving port(s) of webserver from Nginx Reverse Proxy Server using implemented script.