SlideShare uma empresa Scribd logo
1 de 10
TECHTALK
DEMONSTRATION OF
ENSNARE GEM
About
Rails engine that allows

Configure

Deploy a basic malicious behavior
detection

Send responses

uses a combination of traps to attract
malicious users, and a configurable suite
of Trap Responses to confuse, delay, or
stop an attacker
How does it work?
1. Identify if request is malicious depending on the
traps configured(parameter, cookies etc.). Violation
is logged, if the request triggers a trap.
2. Determine threshold using combination of IP,
session_id and user_id
3. Reponses are chosen only if the user enters the
threshold group (it based on the weight configured)
4. Honey traps are inserted in the response
5. Depending on which response is selected in the
Threshold Group, the response is rendered for the
attacker
Traps supported

Cookies

Parameters

Routing Error

Regular expressions

custom
Sample trap configuration
[ { :type=>:parameter,
:options=>{ :parameter_names=> {:coupon_code =>
"84763949", :exp_csrf_token => config.randomizer},
:predefined_parameters=>[:uid, :admin, :debug, :random],
:violation_weight=>2
}
},
{ :type=>:routing_error,
:options=>{ :bad_paths=>["/admin", "/debug", "/robots", "/destroy"],
:violation_weight=>10
}
} ]
Threshold group configuration

Any number of threshold groups can be
configured but has to be ordered by trap_count
For example:
config.thresholds << {
:timer=> 60, :trap_count=>10,
:traps=>[ {:trap=>"flash_error",:weight=>45,:max_delay=>5,
:content=>"Stop messing with me! - From threshold2"},
{:trap=>"redirect",:weight=>20, :url => '/404'},
{:trap=>"throttle",:weight=>5, :min_delay=>10,
:max_delay=>20},
{:trap=>"none", :weight=>30},
]
}
Response types available

None

Message (display flash error message)

Redirect

redirect_loop (redirect to Ensnare_root path in a loop)

Throttle (delay the request with specified time span)

Captcha (render captcha, to the user)

not_found (raise routing exception)

server_error (render 500 error page)

random_content (render random text string)

Block (render a view from the plugin with a message)
Reference
https://github.com/ahoernecke/ensnare/wiki
Reference
https://github.com/ahoernecke/ensnare/wiki

Mais conteúdo relacionado

Semelhante a Ensnare - Ruby on Rails gem to detect break-in attempts in your application

Core Insight Enterprise Overview
Core Insight Enterprise Overview Core Insight Enterprise Overview
Core Insight Enterprise Overview
Nsolera
 
Core Insight Enterprise 2min
Core Insight Enterprise 2minCore Insight Enterprise 2min
Core Insight Enterprise 2min
Nsolera
 
Ariu - Workshop on Multiple Classifier Systems 2011
Ariu - Workshop on Multiple Classifier Systems 2011Ariu - Workshop on Multiple Classifier Systems 2011
Ariu - Workshop on Multiple Classifier Systems 2011
Pluribus One
 
Ariu - Workshop on Multiple Classifier Systems - 2011
Ariu - Workshop on Multiple Classifier Systems - 2011Ariu - Workshop on Multiple Classifier Systems - 2011
Ariu - Workshop on Multiple Classifier Systems - 2011
Pluribus One
 

Semelhante a Ensnare - Ruby on Rails gem to detect break-in attempts in your application (20)

Message processor in mule
Message processor in muleMessage processor in mule
Message processor in mule
 
Core Insight Enterprise Overview
Core Insight Enterprise Overview Core Insight Enterprise Overview
Core Insight Enterprise Overview
 
Core Insight Enterprise 2min
Core Insight Enterprise 2minCore Insight Enterprise 2min
Core Insight Enterprise 2min
 
Defending Against Attacks With Rails
Defending Against Attacks With RailsDefending Against Attacks With Rails
Defending Against Attacks With Rails
 
Ekon22 tensorflow machinelearning2
Ekon22 tensorflow machinelearning2Ekon22 tensorflow machinelearning2
Ekon22 tensorflow machinelearning2
 
Apache Ambari - What's New in 2.0.0
Apache Ambari - What's New in 2.0.0Apache Ambari - What's New in 2.0.0
Apache Ambari - What's New in 2.0.0
 
IRJET- Content Based Video Activity Classifier
IRJET- Content Based Video Activity ClassifierIRJET- Content Based Video Activity Classifier
IRJET- Content Based Video Activity Classifier
 
Ariu - Workshop on Multiple Classifier Systems 2011
Ariu - Workshop on Multiple Classifier Systems 2011Ariu - Workshop on Multiple Classifier Systems 2011
Ariu - Workshop on Multiple Classifier Systems 2011
 
Ariu - Workshop on Multiple Classifier Systems - 2011
Ariu - Workshop on Multiple Classifier Systems - 2011Ariu - Workshop on Multiple Classifier Systems - 2011
Ariu - Workshop on Multiple Classifier Systems - 2011
 
Simple Spring Memcached
Simple Spring MemcachedSimple Spring Memcached
Simple Spring Memcached
 
Java Exception handling
Java Exception handlingJava Exception handling
Java Exception handling
 
J2SE 5
J2SE 5J2SE 5
J2SE 5
 
Exception handling
Exception handlingException handling
Exception handling
 
Exception handling
Exception handlingException handling
Exception handling
 
Implementation of Spam Classifier using Naïve Bayes Algorithm
Implementation of Spam Classifier using Naïve Bayes AlgorithmImplementation of Spam Classifier using Naïve Bayes Algorithm
Implementation of Spam Classifier using Naïve Bayes Algorithm
 
Black magic of web attacks Detection and Prevention
Black magic of web attacks Detection and PreventionBlack magic of web attacks Detection and Prevention
Black magic of web attacks Detection and Prevention
 
Php unit
Php unitPhp unit
Php unit
 
Google Cloud Platform monitoring with Zabbix
Google Cloud Platform monitoring with ZabbixGoogle Cloud Platform monitoring with Zabbix
Google Cloud Platform monitoring with Zabbix
 
[xp2013] Narrow Down What to Test
[xp2013] Narrow Down What to Test[xp2013] Narrow Down What to Test
[xp2013] Narrow Down What to Test
 
IEEE 2014 JAVA PARALLEL DISTRIBUTED PROJECTS Rre a-game-theoretic-intrusion-r...
IEEE 2014 JAVA PARALLEL DISTRIBUTED PROJECTS Rre a-game-theoretic-intrusion-r...IEEE 2014 JAVA PARALLEL DISTRIBUTED PROJECTS Rre a-game-theoretic-intrusion-r...
IEEE 2014 JAVA PARALLEL DISTRIBUTED PROJECTS Rre a-game-theoretic-intrusion-r...
 

Último

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Último (20)

8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

Ensnare - Ruby on Rails gem to detect break-in attempts in your application

  • 2. About Rails engine that allows  Configure  Deploy a basic malicious behavior detection  Send responses  uses a combination of traps to attract malicious users, and a configurable suite of Trap Responses to confuse, delay, or stop an attacker
  • 3. How does it work? 1. Identify if request is malicious depending on the traps configured(parameter, cookies etc.). Violation is logged, if the request triggers a trap. 2. Determine threshold using combination of IP, session_id and user_id 3. Reponses are chosen only if the user enters the threshold group (it based on the weight configured) 4. Honey traps are inserted in the response 5. Depending on which response is selected in the Threshold Group, the response is rendered for the attacker
  • 5. Sample trap configuration [ { :type=>:parameter, :options=>{ :parameter_names=> {:coupon_code => "84763949", :exp_csrf_token => config.randomizer}, :predefined_parameters=>[:uid, :admin, :debug, :random], :violation_weight=>2 } }, { :type=>:routing_error, :options=>{ :bad_paths=>["/admin", "/debug", "/robots", "/destroy"], :violation_weight=>10 } } ]
  • 6. Threshold group configuration  Any number of threshold groups can be configured but has to be ordered by trap_count For example: config.thresholds << { :timer=> 60, :trap_count=>10, :traps=>[ {:trap=>"flash_error",:weight=>45,:max_delay=>5, :content=>"Stop messing with me! - From threshold2"}, {:trap=>"redirect",:weight=>20, :url => '/404'}, {:trap=>"throttle",:weight=>5, :min_delay=>10, :max_delay=>20}, {:trap=>"none", :weight=>30}, ] }
  • 7. Response types available  None  Message (display flash error message)  Redirect  redirect_loop (redirect to Ensnare_root path in a loop)  Throttle (delay the request with specified time span)  Captcha (render captcha, to the user)  not_found (raise routing exception)  server_error (render 500 error page)  random_content (render random text string)  Block (render a view from the plugin with a message)
  • 8.