Skip to main content
Version: 10.0

AT8: Session Attack

Definition​

A valid TCP-SYN session is generated between a bot and a victim. Once the session is established, the attacker manipulates the session in any number of ways to maximally deplete the victim's resources. This includes setting excessively small windows to make the session take longer, setting excessively high timeouts but not sending any data to hold the session open longer, or simply creating a lot of empty sessions preventing normal traffic from using those resources.

These attacks exhaust the victim’s server by depleting its system resources (memory, CPU, etc.) used to track session behavior, resulting in performance degradation or a complete server shutdown. Session Attacks are non-spoofed: the source IP is the actual public IP of the attacker bot, and the source IP range is equal to the number of bots used in the attack.   

Attack Matrix Dimensions​

Nature of IPHandshakeSource IP RangePacket RatePacket SizePacket ContentFragmentingSession RateSession DurationVERB Rate
Non-SpoofedYesSmallVariableSmall----Very Low to Very HighVery Short to Very Long--

Defense Fundamentals​

The RioRey algorithm contains a number TCP session measurements and tracking capabilities. These analytics are used to decide if a session is proper or not. This allows the device to track zero window sessions, improperly open/closed sessions etc.   

DescriptionFilter Sensitivity LEVEL
 0 OFF12345*678910
Block Excessive Idle SessionsNADisabledDisabledDisabledDisabledDisabled*EnabledEnabledEnabledEnabledEnabled
Block excessive sessions closed by RSTNADisabledDisabledDisabledDisabledDisabled*EnabledEnabledEnabledEnabledEnabled
Block Excessive Duplicate ACKsNADisabledDisabledDisabledDisabledDisabled*EnabledEnabledEnabledEnabledEnabled
Attacker IP Block time (minutes)NA1015303030*602404809601440
Drop Data For Closed SessionsNADisabledDisabledDisabledDisabledDisabled*EnabledEnabledEnabledEnabledEnabled
Small Data Size (bytes)NA12344*5102550100
Good No Data Session Threshold (packets)NA22222*52550100127
Dribbling Data Attack Threshold (packets)NA0126505050*16101055
Good Short Session Threshold (packets)NA01122*25101015
Small Window Size (bytes)NA11555*50250500100010,000
Small Window Attack Threshold (packets)NA02541007550*55321
Bad Session Victim Threshold (sessions)NA500010001007550*105522
Bad Session Victim Threshold (percentage)NA9999959085*7550503333
Bad Session Attacker Threshold (sessions)NA500010001007550*105522
Bad Session Attacker Threshold (percentage)NA9999959085*7550503333
Aggressive Victim/Attacker DetectionNADisabledDisabledDisabledDisabledDisabled*DisabledEnabledEnabledEnabledEnabled

Configuration Settings   ​

Click Edit to change default setting(s). When done, remember to Save before moving on to next mitigation section.  

You can hit Clear Filter List to remove all IPs from the filter list for this attack type. This is equivalent to running a Clear for all IPs under this attack type in Clear Filter List. If you are changing filter settings, it is recommended you Clear Filter List after you have updated your settings to prevent addresses from getting blocked again before the new settings take effect.

FeatureDefault SettingComments
Filter ModeAuto (Auto/Monitor)Auto: Algorithms are executed and packets are filtered.
Monitor: Packets are viewed, counted and all algorithms are executed. No filtering of these packets will occur Monitor mode. DDoS traffic will be identified and represented in all attack-based charts and the Zone Traffic Chart will represent zero dropped traffic.
Off: No filtering or monitoring is performed.
Filter sensitivityLevel 5 (1-10)This feature allows the user to adjust the sensitivity level of the filter for Session attacks.
The recommended default setting is level 5. To reduce filter sensitivity, lower the setting number. The higher the setting, the more sensitive the filter becomes. Due to the aggressiveness of the setting, Level 10 is liable to drop some good traffic. Alter the sensitivity settings gradually as needed.
Show advanced controlsDisabledEnabling this control opens up all of the advanced controls for AT8 (listed below). By default, the controls will populate at their settings for the currently set filter sensitivity level.
The advanced controls require careful configuration in order to work correctly. They should only be adjusted after direct consultation with RioRey.
Block Excessive Idle SessionsDisabledIf enabled, this control will consider source IPs that open sessions but don't send any data within 180 seconds to be an attacker. Violations of this control are reported as Subtype 1.
Block excessive sessions closed by RST (RIOS 6.2.0 or greater)DisabledIf enabled, this control will also include sessions closed by RST (as opposed to just by FIN) for excessive session calculations. Violations of this control are reported as Subtype 7.
Block Excessive Duplicate ACKsDisabledIf enabled, this value will block excessive duplicate ACK packets that exceed the tests for AT 3. Since blocked AT8 attackers are added to the Filter List, this will effectively stop all traffic from the attacker to the victim for the duration set under Attacker IP Block Time. Subtype 6 is reported against the victim if IPs sending excessive duplicate ACK packets are added to the Filter List.
Attacker IP Block Time30This is the number of minutes a detected attacker will be blocked from sending traffic to a declared victim. Attacker source IPs will be added to the Filter List.
Drop Data For Closed SessionsDisabledIf enabled, this control will drop data packets after the session has been closed. Violations of this will be tracked under AT3 Subtype 5 rather than putting the source on the filter list, to prevent excessive drops of traffic.
Small Data Size (bytes)4This value sets the "Small Data Size" used by the algorithm. TCP ACK data packets with a payload of this size (in bytes) or smaller will be considered "small data" packets.
Good No Data Session Threshold (packets)2 (1-126)This value sets the threshold of ACK packets received above which a session, with no data packets received, will be considered good. Violations of this control are reported as Subtype 2.
Dribbling Data Attack Threshold (packets)50 (0-126)This value sets the threshold of "small data" ACK packets received above which a session, with no "large data packets (i.e. greater than Small Data Size)" packets received, will be considered bad. A value of 0 will disable this test. Violations of this control are reported as Subtype 4.
Good Short Session Threshold (packets)2 (0-14)This values sets the threshold of "large data packets (i.e. greater than Small Data Size)", sent or received, below which a session will be considered bad. Violations of this control are reported as Subtype 3.
Small Window Size (bytes)5 (1-10,000)This value sets the "Small Window Size" used by the algorithm. ACK packets with a window size of this value or smaller will be considered advertising a "small window".
Small Window Attack Threshold (packets)50 (0-254)This value sets the threshold of "small window" advertisements, in a session,with no "large data packets (i.e. greater than Small Data Size)" sent, above which a session will be considered bad. A value of 0 will disable this test. Violations of this control are reported as Subtype 5.
The following four controls are calculated for each subtype (referenced below) against total session traffic. At normal or reduced levels of sensitivity, this helps reduce false positives. It also means it will be less likely to filter multiple simultaneous attacks due to the percentage requirements, since these controls are calculated for each subtype independently against all session traffic (including the other subtypes). If you suspect multiple attack techniques are being used, either raise sensitivity or enable Aggressive Victim/Attacker Detection, which will trigger filtering on traffic meeting the count thresholds instead of both the count and percentage thresholds.
Bad Session Victim Threshold (sessions)50 (2-10,000)This is the minimum number of bad sessions that must be detected before a destination IP will be declared a victim. If Aggressive Detection is enabled, meeting this threshold is enough to declare a victim, otherwise the percentage of bad sessions specified by Bad Session Victim Threshold (percentage) must also be met.
Bad Session Victim Threshold (percentage)85 (1-100)This is the minimum percentage of bad sessions to a destination IP before a destination IP will be declared a victim. If Aggressive Detection is enabled, meeting this threshold is enough to declare a victim, otherwise the count of bad sessions specified by Bad Session Victim Threshold (sessions) must also be met.
Bad Session Attacker Threshold (sessions)50 (2-10,000)This is the minimum number of bad sessions that must be detected from a source IP to a victim before it will be considered an attacker. If Aggressive Detection is enabled, meeting this threshold is enough to declare an attacker, otherwise the percentage of bad sessions specified by Bad Session Attacker Threshold (percentage) must also be met.
Bad Session Attacker Threshold (percentage)85 (1-100)This is the minimum percentage of bad sessions from a source IP to a victim before it will be considered an attacker. If Aggressive Detection is enabled, meeting this threshold is enough to declare an attacker, otherwise the count of bad sessions specified by Bad Session Victim Threshold (percentage) must also be met.
Aggressive Victim/Attacker DetectionDisabledWhen disabled, both the minimum session count and percentage thresholds (outlined above) must be met to declare an attacker or a victim. If enabled, meeting either the count or the percentage threshold is sufficient to declare an attacker or a victim.

Subtypes​

Attack packets are classified under subtypes for better reporting. The subtype and reason the packet is labeled as invalid under its attack type can be found in the following table.

Attack TypeSubtypeDetails
AT81Excessive Idle Sessions- Session opened but not closed, with or without any data exchanged.
AT82Excessive Sessions With No Data and Few ACK Packets- Open or closed session with no data exchanged and zero or few ACK packets.
AT83Excessive Small Data Sessions- Open or closed session with few data packets sent and received.
AT84Slow Data Rate Attack- Open or closed session where the attacker dribbles data to server without sending any large data packet.
AT85Small TCP Window Attack- Open or closed session where the attacker advertises a small receive window forcing the server to stall.
AT86Excessive Sessions With Duplicate ACK Packets- Excessive duplicate ACK packets from an IP which will be blocked if the destination is a victim.
AT87Excessive Sessions Closed by RST