BIG IP ASM V12
DDOS PROFILE
Global Service Tech Summit, Seattle
Sep, 2015, v3
Lior Rotkovitch, NPI
ASM, L7 DDoS & Analytics
lior@f5.com
ASM DDoS Profile
DDOS - HTTP FLOODS ATTACKS
DDOS - BOTS
From single IP to single URL
Simple bots
From multiple IPs to single fixed URL
Impersonating Bots
From multiple IPs to multiple fixed URLs
Bots with cookies & JS capabilities
From multiple IPs to multiple random URLs
Bots acting as full browser
From multiple IPs from a specific country
Fine Tune your Thresholds & Reporting
F5 Networks, Inc
Reporting
HTTP Floods facts:
Users Or Bots
Legitimate Layer 7 requests
Asking a web page thousands of time instead of one (few) times
Exhausting backend servers resources: memory, CPU, Disk etc
Relatively easy to execute with simple tools
Not easy to detect the offending source nor to prevent it
Wrong identification will prevent valid users from accessing the site (false positive )
User
Source IPs
Unidentified User
Hacktivism
Web Site
Servers
Database
Google Web Bot
Web Bot
F5 Networks, Inc
HTTP Floods types
Users Or Bots
Requests increase from or/and to URLs inside the web site
From single IP to single URL
From multiple IPs to single fixed URL
From multiple IPs to multiple fixed URLs
From multiple IPs to multiple random URLs
From multiple IPs originating from a specific country
User
Source IPs
Unidentified User
Hacktivism
Web Site
Servers
Database
Google Web Bot
Web Bot
F5 Networks, Inc
ASM Detection & Mitigation concept - HTTP Floods
ASM process:
Users Or Bots
1.
Monitoring entities: RPS Latency IPs URLs
2.
Detecting Increase
3.
Activating Mitigation
Source IPs
User
Source IPs
Unidentified User
Hacktivism
RPS
Web Site
Latency
App URLs &
objects
Servers
Database
Google Web Bot
Web Bot
F5 Networks, Inc
ASM Detection & Mitigation concept DoS Profile
Location: Security DoS Protection DoS Profiles dos
F5 Networks, Inc
TPS Based Detection: Transaction Per Second based detection
and mitigation
Client: Hey server, can I get the web page ?
Server
ASM: no, you are sending too many requests.
You will have to
Answer CSID
Answer CAPTCHA
Be Rate Limited / Blocked
F5 Networks, Inc
TPS Based Detection
Monitoring Request Per Second increase form source IP, Geo, URL, Site Wide.
Then apply one of the mitigation policies: CSID, CAPTCHA, Rate limit
F5 Networks, Inc
TPS Based Detection
1.
BY Source IP (Detection & Mitigation Polices)
2.
Mitigation polices:
a)
Client Side Integrity Defense
b)
CAPTCHA challenge
c)
Request Blocking
3.
By Geolocation (Detection & Mitigation Polices)
4.
By URL (Detection & Mitigation Polices)
5.
By Site Wide (Detection & Mitigation Polices)
6.
Prevention Duration
a
2b
c
3
6
F5 Networks, Inc
By Source IP: Detection Criteria
Detection: thresholds for determining DDoS attack - by source IP increase
Mitigation: which mitigation will apply on the offending source IP
Detection
Mitigation
F5 Networks, Inc
10
By Source IP: Detection Criteria
Detection Ratio
Ratio thresholds - measuring ratio with two time interval:
Long (History Interval): Measure the last 1 hour RPS averages every 10 seconds
Short (Detection Interval): Measure the last 10 seconds RPS averages every 10 seconds
F5 Networks, Inc
11
By Source IP: Detection Criteria
Detection Ratio
Example:
Long (History Interval): 50 TPS
Short (Detection Interval): 370 TPS
F5 Networks, Inc
TPS increased by: ((370 - 50) /50)*100 = 640%
640% > 500% = True
12
By Source IP: Detection Criteria
At least X Transactions:
Detection Ratio
A minimum condition to
prevent false positive
increase (source IP
starts browsing the site
and goes from 0 to 30
RPS)
TPS increased by %
Example:
F5 Networks, Inc
640%
AND
minimum fix number of transactions
AND
40 =
True
13
By Source IP: Detection Criteria
Detection Ratio
or
Fixed
TPS reached:
Ratio thresholds
ORed with fixed TPS
(TPS increased by %
Example:
F5 Networks, Inc
640%
AND
minimum fix number of transactions) OR TPS reached
AND
40
OR
200
True
14
TPS Based Detection
1.
BY Source IP (Detection & Mitigation Polices)
2.
Mitigation polices:
a)
Client Side Integrity Defense
b)
CAPTCHA challenge
c)
Request Blocking
3.
By Geolocation (Detection & Mitigation Polices)
4.
By URL (Detection & Mitigation Polices)
5.
By Site Wide (Detection & Mitigation Polices)
6.
Prevention Duration
a
2b
c
3
6
F5 Networks, Inc
15
Client Side Integrity Defense Concept
Client: Hey server, can I get the web page ?
Server
if a browser:
Yes, Im a browser
User
Web Bot
F5 Networks, Inc
If a bot:
*^lkjdfg@#$
ASM: no, you are sending too many
requests. Are you a browser ?
ASM: ok, you are allowed. Here is the web
page you asked for.
ASM: Bye Bye Blocked
16
Client Side Integrity Defense Concept
Checking JavaScript capabilities
A client is considered legitimate if it meets the following criteria:
The client support JavaScript
The client support HTTP cookies
The client should calculate a challenge inside the JS
If satisfied = legitimate client that can access the site
F5 Networks, Inc
17
Client Side Integrity Defense - Flow
User
First main page access
Browser
DoS Profile
App
HTTP Request (no cookie)
Send JS test
Computational challenge
Solve challenge/
set cookie with time stamp
HTTP Request (cookie)
Reconstruct request
Original HTTP Request
HTTP Response (main page)
HTTP Response (main page)
More object requests (cookie)
Validate cookie: format & time stamp
More object requests
Deliver page
F5 Networks, Inc
More responses
More responses
This is the flow and timeline
of events.
Transparent to the user,
done under the hood
Note that request is held at
the ASM and not arriving the
app until checks are
satisfied
Not all checks are described
here, some are internal IP.
18
Client Side Integrity Defense JavaScript sample
The JS is obfuscated
From user perceptive this
is transparent action.
F5 Networks, Inc
19
Client Side Integrity Defense Mitigation summary
If no reply No problem for us
If didnt solve the challenge but still sending request Block (RST)
If did solve the challenge but:
Cookie is wrong format Block (RST)
Time stamp expired Block (RST)
If client access a resource (image) without getting the cookie first Block (RST)
F5 Networks, Inc
20
TPS Based Detection
1.
BY Source IP (Detection & Mitigation Polices)
2.
Mitigation polices:
a)
Client Side Integrity Defense
b)
CAPTCHA challenge
c)
Request Blocking
3.
By Geolocation (Detection & Mitigation Polices)
4.
By URL (Detection & Mitigation Polices)
5.
By Site Wide (Detection & Mitigation Polices)
6.
Prevention Duration
a
2b
c
3
6
F5 Networks, Inc
21
CAPTCHA Challenge - Concept
Client: Hey server, can I get the web page ?
Server
If a user:
OK, I answered
User
If none user:
Ha ? *^lkjdfg@#$
Web Bot
F5 Networks, Inc
ASM: no, you are sending too many
requests. Please answer this CAPTCHA
challenge, show me your human !:
ASM: ok, you are allowed. Here is the web
page you asked for.
ASM: Bye Bye Block him dood !
22
CAPTCHA Challenge
Completely Automated Public Turing test to tell
Computers and Humans Apart
Ultimate solution for identifying human or bot
Send challenge to every IP that reached IP detection criteria thresholds
To CAPTCHA or not to CAPTCHA ?
Some argues that CAPTCHA is not a good usability because an innocent user gets
CAPTCHA and he will not know why. So, remember that a valid user should pass
browser tests. i.e. if a user is blocked (or gets a CAPTCHA) there is a reason and
maybe he is not innocent (infected ?) .
F5 Networks, Inc
23
CAPTCHA customize response
Can be customize to the web site look and feel colors via css
Failure Response page is served if the first attempted fails
F5 Networks, Inc
24
CAPTCHA Challenge - Flow
User
Request mypage.php
Browser
DoS Profile
App
GET /mypage.php (no cookie)
CAPTCHA HTML +JS response
CAPTCHA rendered
Send CAPTCHA
Cookie with time stamp
Solve CAPTCHA
Submit CAPTCHA
solution
GET /mypage.php + CAPTCHA
cookie
mypage.php
rendered
F5 Networks, Inc
HTML of mypage.php
While the system is still in a
state of attack the offending
source will be presented with
another CAPTCHA every 5 min.
Same as CSID, request is held
at the ASM until CAPTCHA is
solved
Verify CAPTCHA solution
Validate cookie
GET /mypage.php
HTML of mypage.php
25
CAPTCHA mitigation summary
If didnt submit the challenge - no request DOSing us
If didnt solve the challenge but still sending us attacks Blocked
If did solve the challenge but:
Cookie is wrong format RST
Time stamp expired 5 min RST
F5 Networks, Inc
26
TPS Based Detection
1.
BY Source IP (Detection & Mitigation Polices)
2.
Mitigation polices:
a)
Client Side Integrity Defense
b)
CAPTCHA challenge
c)
Request Blocking
3.
By Geolocation (Detection & Mitigation Polices)
4.
By URL (Detection & Mitigation Polices)
5.
By Site Wide (Detection & Mitigation Polices)
6.
Prevention Duration
a
2b
c
3
6
F5 Networks, Inc
27
Request Blocking / Rate limit
Client: Hey server, can I get the web page ?
ASM: no, you are sending too many requests.
Im limiting your requests sending rate
While CSID and CAPTCHA try to understand who is the offending source (bots or browsers)
request limiting is indifferent to the identity and limits the offending sources.
F5 Networks, Inc
28
Request Blocking
Request Blocking:
Blocking: block all IPs from the offending source if a source IP reached thresholds I dont
want him on my site at this point
Rate Limit: limit the amount of allowed request from the offending source if reached
thresholds I can sustain only some of the traffic at this point
F5 Networks, Inc
29
Request Blocking Mitigation Summary
Block all blocking all traffic from the offending
source (i.e. I dont want to see any more traffic from
this source)
Rate Limit rate limit the offending source
Rate limit will limit to long (history) TPS rate
Example
If long was 50 TPS And increase in short is 150 TPS
Rate limit to 50 TPS
F5 Networks, Inc
30
TPS based: by source IP Summary
Measuring source IP increase
All source IPs that reached the thresholds will be presented with the enabled mitigation
If still increasing , fall back according to the order in the GUI (switching mitigation)
Client Side Integrity Check
CAPTCHA Challenge
Request Blocking
F5 Networks, Inc
31
TPS Based Detection
1.
BY Source IP (Detection & Mitigation Polices)
2.
Mitigation polices:
a)
Client Side Integrity Defense
b)
CAPTCHA challenge
c)
Request Blocking
3.
By Geolocation (Detection & Mitigation Polices)
4.
By URL (Detection & Mitigation Polices)
5.
By Site Wide (Detection & Mitigation Polices)
6.
Prevention Duration
a
2b
c
3
6
F5 Networks, Inc
32
HTTP Floods Geolocation detection and Mitigation
Users Or Bots
http floods type: From multiple source
IPs originating from a specific country
User
Source IPs
Unidentified User
Hacktivism
Web Site
Servers
Database
Google Web Bot
Web Bot
F5 Networks, Inc
33
Geolocation - Detection
Geolocation Relative to the whole traffic of the site:
500 % request increase of the whole site from a specific country
AND
At least 10 % of the whole site traffic
F5 Networks, Inc
34
Geolocation Mitigation
All clients requests arriving from the specific country will be presented with mitigation:
Client Side Integrity Check
CAPTCHA Challenge
Request Blocking
(note that blocking will block
all users from this country)
F5 Networks, Inc
35
Geolocation Black n White listing
Specifies the countries that the system always blocks
whenever the system is in a state of DDoS detection.
Done regardless of the thresholds set in the DDoS
profile
F5 Networks, Inc
Allows access to the web site regardless of
geolocation detection criteria thresholds only
i.e. other thresholds still apply
36
TPS Based Detection
1.
BY Source IP (Detection & Mitigation Polices)
2.
Mitigation polices:
a)
Client Side Integrity Defense
b)
CAPTCHA challenge
c)
Request Blocking
3.
By Geolocation (Detection & Mitigation Polices)
4.
By URL (Detection & Mitigation Polices)
5.
By Site Wide (Detection & Mitigation Polices)
6.
Prevention Duration
a
2b
c
3
6
F5 Networks, Inc
37
HTTP Floods URL Detection and Mitigation
Measuring requests increase on a URL
Floods types:
Users Or Bots
From multiple IPs to multiple fixed URLs
From multiple IPs to multiple random URLs
Source IPs
User
Source IPs
Unidentified User
RPS
Web Site
App URLs &
objects
Hacktivism
Servers
Database
http://site.com/sell.php
Google Web Bot
Web Bot
F5 Networks, Inc
38
URL Detection Criteria
Collecting RPS on URLs
TPS increase by* AND at least X TPS **
Calculation:
*Ration of long and short
**Minimum TPS thresholds for detection
F5 Networks, Inc
OR TPS reached
39
URL Detection Criteria Mitigation
All clients that access the URL: Client Side Integrity Check
CAPTCHA Challenge
Request Blocking Rate limit (No block all)
F5 Networks, Inc
40
TPS Based Detection
1.
BY Source IP (Detection & Mitigation Polices)
2.
Mitigation polices:
a)
Client Side Integrity Defense
b)
CAPTCHA challenge
c)
Request Blocking
3.
By Geolocation (Detection & Mitigation Polices)
4.
By URL (Detection & Mitigation Polices)
5.
By Site Wide (Detection & Mitigation Polices)
6.
Prevention Duration
a
2b
c
3
6
F5 Networks, Inc
41
HTTP Floods Site Wide Detection and Mitigation
Floods types:
Users Or Bots
From multiple IPs to multiple random URLs
Cases where DDoS attack is under the radar
Source IPs
User
Source IPs
Unidentified User
RPS
Web Site
App URLs &
objects
Hacktivism
Servers
Database
Monitoring: all entities
Google Web Bot
Web Bot
F5 Networks, Inc
42
Site-Wide Detection Criteria
Collecting RPS on the entire website (all entities URLs, IPs)
In some cases the floods will avoid thresholds for IP based or URL based.
Site wide provide another layer of detection and prevention
Detection:
Ratio
Fixed
*TPS increase by AND Minimum TPS thresholds for detection
OR TPS reached
F5 Networks, Inc
43
Site-Wide Detection Criteria Mitigation
Prevention polices
All clients that access the site:
F5 Networks, Inc
Client Side Integrity Check
CAPTCHA Challenge
Request Blocking - only rate limit no blocking
44
TPS Based Detection
1.
BY Source IP (Detection & Mitigation Polices)
2.
Mitigation polices:
a)
Client Side Integrity Defense
b)
CAPTCHA challenge
c)
Request Blocking
3.
By Geolocation (Detection & Mitigation Polices)
4.
By URL (Detection & Mitigation Polices)
5.
By Site Wide (Detection & Mitigation Polices)
6.
Prevention Duration
a
2b
c
3
6
F5 Networks, Inc
45
Prevention duration
Escalate top down every 120 second if thresholds are still increasing
Client Side Integrity Check
CAPTCHA Challenge
Request Blocking
F5 Networks, Inc
De escalate - start from the top
Every 7200 seconds
46
Stress Based detection
Predictive Latency predict how long it will take to
serve a new incoming request
ASM: Hey server, how many more requests
can you handle ?
Im the server
Server: Im fine, keep on sending them
F5 Networks, Inc
47
Stress Based Detection and prevention concept
Client: Hey server , can I get the web page ?
Im the server
.
.
After a while
ASM: mmm let me check. The Server can take
additional incoming requests. you are allowed
Client: Hey server, can I get web pages again now ?
ASM: no, my backend latency is now too high
and you are sending too many request.
You will have to:
Answer CSID or
Answer CAPTCHA or
Be rate limit
F5 Networks, Inc
48
Stress Based GUI
Same concept as TPS
based: source IP, Geo, URL,
Site wide and their
mitigation policies.
Addition condition of
backend latency. i.e. only
when the two conditions
reach thresholds, then apply
mitigation policy.
Note: Can work together (operate in
parallel) with TPS based and act as
layers of protection (e.g. TPS based
does only CSID in alert mode and
Stress based does request blocking in
case of latency increase)
F5 Networks, Inc
49
Stress Based Detection & Mitigation
Similar to TPS based,
Quiz yourself, what each item
means ?
1. By Source IP
a) CSID
b) CAPTCHA
c) Request Blocking
2. By Geolocation
3. By URL
4. Site Wide
F5 Networks, Inc
50
Stress Based Detection thresholds condition
TPS
Latency
threshold AND threshold
exceeded?
exceeded?
Mitigation Is activated when
two types of thresholds are
reached :
Latency thresholds
AND
Then:
Activate
Mitigation Policy
F5 Networks, Inc
TPS thresholds
51
Stress Based Detection thresholds condition
TPS thresholds
stress detection
prevention
in order to apply a prevention policy, both TPS and
Latency thresholds must be exceeded, then the enabled
prevention policy is activated.
Latency thresholds are not visible in the GUI, they are part
of automatic detection.
F5 Networks, Inc
Example:
Automatic stress detection enters a
state of exceeding thresholds. This by
itself will not active the prevention.
Only when the TPS thresholds will
exceed then the prevention policy is
activated.
52
TPS based
VS
Quick way to protect against DDoS. Im in trouble
and I want to block now !
Fixed number on the TPS reached is very easy
and useful. Also easy to detect offending sources
Stress based
Allows the option to activate the Mitigation only
when the backed experiencing latency AND RPS
increase (I only want to block when the attack is
causing backend latency)
Provide Layers of defense and notify about backend
issues (not just DDoS)
Conclusion:
TPS based is quick while latency based
allows more granular approach
F5 Networks, Inc
53
Heavy URLs
Not all URLs are equal
Some are more attractive than others
F5 Networks, Inc
54
Heavy URLs
Heavy URLs are URLs that consume more processing resources
from the server
Are good application DoS point - Even few requests can DoS the app
Typical heavy URLs are search box, product IDs
http://site.com/serach.php?q=a
Heavy URL
Servers
Database
Ho wow, this will take a while
Searching
..
hold on
..
Almost there.
F5 Networks, Inc
55
Heavy URLs concept
Automatically measures latency on URLs for 48 hours
and decide who is heavy
When any URL based mitigation is active, the heavy URLs
that was detected as heavy will also get the active
mitigation
F5 Networks, Inc
56
Heavy URLs concept
Heavy URL is another detection capability. Once it is reached the thresholds AND one of the By URL detection
thresholds are reached Then the URLs that consider heavy URLs will be applied with the active mitigation policy
F5 Networks, Inc
57
Heavy URLs configuration
Example: By URL TPS reached 1000 TPS and is currently applying CSID mitigation.
Heavy URL is enabled
F5 Networks, Inc
58
Heavy URLs Configuration
1
1. Automatic Detection - Automatically add URL
that will be considered as heavy
2. Manual Heavy URLs Manually add URL that
will be considered as heavy
3. Ignored URL Exclude those URL from
heaviness
4. Latency Threshold Above this threshold ->
heavy URL
F5 Networks, Inc
59
Heavy URL Reporting
Security Reporting DoS Application URL Latencies
Example:
If search.php is defined as heavy and if index URL is currently being mitigated with CSID because it exceeded the
thresholds of URL reached (or fixed) then every source IP that is accessing search.php will also get the CSID check.
F5 Networks, Inc
60
Reporting first
Remember, security is a process
Fine Tune your thresholds
Before DDoS Attack
During DDoS Attack
F5 Networks, Inc
61
First rule of detection - AVR Reporting
Know your web site metrics
AVR graphs help you understand the site metrics:
Statistics Analytics Overview
Statistics Analytics Transactions View by
AVR graphs inside ASM tab:
Security Reporting DoS Overview
Security Reporting DoS Application Transaction outcome
F5 Networks, Inc
Sources
IPs
URLs
Site Wide
Geolocation
RPS
TPS
Latency
L7 DDoS measurements
62
Why Fine Tune Thresholds ?
Out of the box thresholds are good for most web sites
Depending on the web site traffic fine tuning thresholds might be needed.
Fine tuning thresholds can be divided into:
Before DDoS Attack
During DDoS Attack
Good for me ??
F5 Networks, Inc
63
Fine Tune Thresholds Before attack
Process:
Pre requisite: Enable DDoS Profile on the desired virtual
1) White list IPs, geolocations countries, URLs (admin) etc
2) Get visibility with transparent mode write down metrics*
3) Test and decide which prevention will apply thresholds exceeds (TPS bases/
Latency based , heavy URL config etc)
4) Fine tune thresholds for fixed and ratio based
5) Switch to blocking When needed
*good list for L7 DDoS metrics
F5 Networks, Inc
64
Fine Tune Thresholds Before DDoS for Source IP
Go to Statistics Analytics HTTP Transaction
View by: Client IP address
List top TPS Avg IPs
F5 Networks, Inc
65
Fine Tune Thresholds Before DDoS for Source IP
By examining the client IP Address you can
conclude the averages of normal traffic you
expect to see from the top source IPs.
Knowing normal averages can help defining
the TPS increase by ratio.
The idea is that you can determine how much
traffic is allowed until assumed a ddos attack.
F5 Networks, Inc
66
Fine Tune Thresholds Before DDoS for Geolocation
Go to Security Reporting dos Application transaction outcome
The same concept works for the
geolocation thresholds graph.
From the drilldown choose Countries on
AVR reports
Which countries you expect to see traffic ?
F5 Networks, Inc
67
Fine Tune Thresholds Before DDoS for URL
The same idea applies to URLs.
Sort graph by URLs
Which URL should have to highest RPS ?
F5 Networks, Inc
68
Fine Tune Thresholds Before DDoS for URL
F5 Networks, Inc
69
Fine Tune Thresholds Before DDoS for Site Wide
On the drilldown choose
Virtual Server
This will help us understand
the over all traffic load that we
have when there is no DDoS
attack.
F5 Networks, Inc
70
Fine Tune Thresholds Before DDoS for Site Wide
Site wide = Virtual server
The overall traffic should be much higher than the other thresholds.
The values reflect the total amount of TPS that the virtual can handle.
F5 Networks, Inc
71
Fine Tune Thresholds During attack
Process:
1) Fine tune white list source if needed
2) Identify sources that exceed thresholds (source IPs, URLs, Geo, SiteWide) by
looking at reporting.
3) Determine the attack type: from fixed/random source IP to fixed/ random URL.
Conclude which of the detection types you need (source IP only ? Source IP and URL
based only ? etc. )
4) Fine tune thresholds according to the exceeding sources (ratio / fixed)
5) Apply mitigation and decide what is working and what is not. Uncheck the
mitigations that are not effective
6) Go to step 1 and repeat
F5 Networks, Inc
72
Fine Tune Thresholds During attack Source IP
Security Reporting dos
Application transaction
outcome
On the drilldown choose
Client IP Address
F5 Networks, Inc
73
Fine Tune Thresholds During attack Geolocation
Security Reporting dos
Application transaction
outcome
On the drilldown choose
Countries
F5 Networks, Inc
74
Fine Tune Thresholds During attack URLs
Security Reporting dos
Application transaction
outcome
On the drilldown choose URLs
F5 Networks, Inc
75
Fine Tune Thresholds During attack - Site Wide
Security Reporting dos
Application transaction
outcome
On the drilldown choose
Virtual Servers
F5 Networks, Inc
76
AVR reports and graphs
Security Event Logs DoS Application Events
Host IP
Time line
F5 Networks, Inc
Attack start / end
Mitigation type can help
understand which of the
mitigation is effective and
when switching mitigation
occurred
Number
of TPS
Attack ID : Clicking
will show graph
77
AVR reports and graphs
Security Reporting DoS Application Transaction Outcomes
High, medium and low
impact allow to filter
high impact attacks
and deal with them
first
impact is the latency
on the backend for all
entities. The higher
the latency the higher
the impact is.
F5 Networks, Inc
78
AVR reports and graphs
Security Reporting DoS Application Transaction Outcomes
Start and End points - red flags indicate the start of an attack and the green flags indicate the end of
an attack. Switching mitigation can occure several time over the DDoS attack.
F5 Networks, Inc
79
AVR reports and graphs
Incomplete Indicates traffic that was dropped by the server because the connection was
incomplete or the server did not respond.
Blocked Indicates traffic that was blocked as a result of the mitigation policy (any of the
prevention policies including bots blocking)
Proactive Mitigation Indicates the amount of time that the proactive bot defense mechanism
was severed
CAPTCHA mitigation Indicates the amount of time that the CAPTCHA challenge was severed
to offending sources
CS integrity mitigation Indicates the amount of time that the client-side integrity defense
challenge was severed to offending sources
BIG IP Response Indicates traffic that is a response to the client from the BIG-IP system.
Cache by BIG IP Indicates traffic that is served from cache configured (WA, RamCache)
Whitelisted Indicates traffic from IP Address that are in the whitelist of the DoS profile
Pass through - Indicates traffic that is pass to the application trough ASM to the server
F5 Networks, Inc
80
AVR reports and graphs
The AVR DoS graph now
shows the thresholds
that are set in the TPS
detection tab.
The Display Thresholds
check box will display
them or clear them from
the graph.
F5 Networks, Inc
81
Fine Tune Thresholds Summary
Before DDoS:
Write the normal thresholds for the web site: (IPs, Geolocation, URLs, Site Wide)
Set the ratio and the fix threshold for each of the above detection criteria (How much the web
site can take 2 times the traffic , 5 times etc)
Test the configuration and the prevention policy, then conclude which one is good for you
During DDoS:
Identify the source IPs, URLs and entire site traffic increase and determine the attack type
Set the fixed TPS number in each of the above criteria and apply mitigation
Verify the results in the Transaction outcome graph
F5 Networks, Inc
82
DDoS Bots - Detection & Mitigation
F5 Networks, Inc
83
Layers of defense against Bots
Simple Bots
Gohogle
Impersonating Bots
Bots with cookies / JS capabilities
This bot section is mostly about
bots that DoS / DDoS. However,
Bots detection and prevention
can be used for various bot
problems the site is experiencing.
Bots acting as full browser
F5 Networks, Inc
84
DDoS Bots
Users Or Bots
Google Web Bot
Bots can be classify in many ways, mostly there are:
1. Simple bots
2. Impersonating Bots
3. Bots with cookies & JS capabilities
4. Bots acting as full browser
Web Site
Web Bot
Unidentified
User
Servers
Database
User
F5 Networks, Inc
85
Enabling Bot signatures protection
F5 Networks, Inc
86
Bots Simple Bot
Simple bot can be any command line tool such as:
curl , wget , ab
Im a simple Bot
Server
ASM: yes, I have your signature. Sorry
mate you are blocked.
F5 Networks, Inc
87
Categorizing Bots
Bad Bots aka Malicious
are well know command
line tools we want
them out
Good Bots aka Benign are
well know search engine and
monitoring tools we want
them in
F5 Networks, Inc
Bad Bots
Good Bots
88
Bot Signatures -
Each categories include:
None ignore
Report report only used for monitoring
Block block
None
Report
Block
None
Report
Block
F5 Networks, Inc
89
Excluding specific bot signatures from category settings
Specific signature can be excluded from the
category setting
Search the signature in Available signature list
and move it to the left pane.
In this example ab tool will not be blocked
even if the category that includes it is in
blocking mode
F5 Networks, Inc
90
First - White list good Bots
3
DNS Server
Google
1
Im a google Bot
Web Server
2
ASM: lets see if you really are. Im doing
Reverse DNS lookup.
Google
Thanks
F5 Networks, Inc
Yes, I see that, please continue.
91
White list good Bots with their domain name
3. The signature includes domain name.
ASM issue Reverse DNS query to verify
the origin of the request
1. Request arrive with User
Agent : Googlebot/2.1
2. ASM search the
google bot signature
4. Once approved ASM will allow the
google bot to access the web site
User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
F5 Networks, Inc
DNS Server
Web Server
92
Bot Signature Repository
Security Options DoS Protection Bot Signatures List
Bot Signature repository for
the entire system is under
Options.
Bot signatures repository is
update with the ASM
signature update
F5 Networks, Inc
93
Bot Signature List: general signatures repository
Signatures can be sort by:
Signature Category
Signature Type:
Malicious / Benign
User Define signatures
Yes / No
Partition: signature can
be assign to a specific
partition
Clicking on any of the sorting
will change the order.
F5 Networks, Inc
94
Sorting the Bot Signature Repository
Various filtering
Create new Bot Signature
F5 Networks, Inc
95
Bot Signature Categories
Creating new category
for Malicious or Benign
F5 Networks, Inc
96
Create a new bot signature: simple edit mode
Bot Signature name
Domain name execute
reverser DNS query to
verify origin. Add the
domain if the Bot has one
Category
Simple edit mode: inside
a user agent header or
in a URL.
Create when done
F5 Networks, Inc
97
Create a new bot signature - advanced edit mode
Advanced Edit Mode - rule granularity
For full details consult F5 document
Signature syntax example:
headercontent: "sample_text"; useragentonly;
F5 Networks, Inc
98
Bot signature facts
Signatures associated with a domain name are
validated with reverse DNS lookup.
Blocking and reporting :
Block flag - resets the connection and reports the
action as "bot signature block" with the bot
signature name.
Report flag - Report bot name and categories
(AVR)
Updating bot signature as part of the ASM
signature update
F5 Networks, Inc
99
Bots Impersonating Bot
Gohogle
DNS Server
Im a google Bot
ha ha ha
Gohogle
Bummer
F5 Networks, Inc
Web Server
ASM: lets see if you are. Im doing Reverse
DNS lookup.
ASM: Hey DNS, whos this guy ?
DNS: no one important
ASM: you are not google bot
Bye Bye -> block this creature !
100
Bots Impersonating Bot
3 The real google bot includes domain
name. ASM issue Reverse DNS query to
verify the origin of the request
1 Request arrive with User
Agent : Googlebot/2.1
2 ASM search the
google bot signature
DNS Server
4 If the source IP is not the expected one
according to the DNS query ASM will block
the impersonating bot
Web Server
F5 Networks, Inc
101
Bots with cookies & JS capability
Im a bot that can
understand JS and
support cookies
Ha ?
Web Servers
ASM: prove it, answer my challenges
No you are not, bye bye -> block this bot.
Bummer
F5 Networks, Inc
102
Proactive Bot Defense
PBD is good for:
Bots that can handle JS
Bots that can handle JS and cookies
Bots floods
Under the radar bots
Block any bot accessing the site (humans only web site)
F5 Networks, Inc
103
Proactive Bot Defense and Bot Signature
Proactive Bot
Defense is now
integrated with
the bot
signatures.
When enabling
proactive bot
defense the
bot signature
feature will be
enabled as
well
F5 Networks, Inc
104
Proactive Bot Defense
Send Client side challenges to ALL client and thus mitigate bots all the time
Various challenges are sent and then validate by PBD blocked or allowed
F5 Networks, Inc
105
PBD - Client side integrity defense - flow
User
First main page access
Browser
DoS Profile
App
HTTP Request (no cookie)
Computational challenge
Solve challenge/
set cookie with time stamp
HTTP Request (cookie)
Reconstruct request
Original HTTP Request
HTTP Response (main page)
HTTP Response (main page)
More object requests (cookie)
Validate cookie: format & time stamp
More object requests
Deliver page
F5 Networks, Inc
More responses
More responses
106
Proactive Bot Defense configuration
Always sending CS all the time
During attack only if other component of the dos profile is in dos mode PBD
will send the CS challenge (acting as two layers of mitigation)
This allows second layer of protection (rate limit and PBD)
Grace period - cookie expiration time 300 = 5min
White list exclude PBD on those IPs
F5 Networks, Inc
107
Bots acting as full browser
DNS Server
Im a Bot that
simulate browser
Web Server
ASM: ok, what are your capability ? If you will not
answer right you will have to answer a CAPTCHA
Capability ?
CAPTCHA ?
You are not human, byyyye -> block this unhuman !
Bummer
F5 Networks, Inc
108
PBD Additional bots identification with capabilities script
Bots: Bots acting as full browsers - Browser Simulation
F5 Networks, Inc
109
How bots that simulate
browsers are evaluated ?
Block Suspicious Browsers addition tests are done to understand if this is a bot or a browser. ASM
will evaluate the source and will give it a score:
if the score indicates that the source is a bot it will block it.
If the score indicate uncertainty and if CAPTCHA challenge is checked, then CAPTCHA will be presented
to the source. If answer it is a human if not, blocked.
F5 Networks, Inc
110
Block Suspicious Browsers
If Block Suspicious Browsers is unchecked send CS Challenge
If Block Suspicious Browsers is checked and CAPTCHA is checked send Client
Capabilities challenge and give it a score: If score in doubt send a CAPTCHA for
human verification
If Block Suspicious Browsers is checked but CAPTCHA Challenge is unchecked do
not send CAPTCHA and only block if the score is more than a human
F5 Networks, Inc
111
Client Capabilities -challenge script flow
User
First request GET /sell.php
Browser
DoS Profile
App
GET /sell.php (no cookie)
Client Capabilities Challenge response
Return Client Capabilities
verification
1.
2.
3.
Authenticate and decrypted JS results,
Verify capabilities and set a score
Determine an action based on score
Blank page & Set cookie
Original HTTP Request + cookie
Reconstruct request
HTTP Response (cookie)
HTTP Response
GET /img.png (cookie)
Validate cookie: format
& time stamp
GET /img.png (cookie)
F5 Networks, Inc
112
DoS Bots Reporting
F5 Networks, Inc
113
Bot signatures simulation
Reporting dos Application Transaction outcomes
Transaction outcomes
is very useful for
monitoring traffic and
indicates various
measurements
F5 Networks, Inc
114
Bot signatures simulation
Analytics HTTP throughput request throughput
AVR will provide details on DoS bot signatures (use drill downs )
F5 Networks, Inc
115
Summary
Simple bots can easily be detected and blocked
White listing of bots = visibility to bot access and keep other bots out
Impersonating bots can be monitored / blocked
Bots that support JavaScript and cookies can now be noticed and be blocked
Reporting on the visiting bots to your web site is available via AVR
Custom bots signature is powerful tool to deal with bots
Bots signature is updating via the ASM signatures update
F5 Networks, Inc
116
Resources
Our documentation is free for all. Read and learn more:
BIG-IP Application Security Manager Operations Guide
BIG-IP Application Security Manager: Getting Started
BIG-IP Application Security Manager: Implementations
BIG-IP Application Security Manager: Custom Signature Reference
BIG-IP Analytics: Implementations
F5 Networks, Inc
117