Security Behavior Detection

To provide additional security without overburdening your end users, you can configure a Sign-On policy for your organization that requires additional authentication for behavior defined as high risk based on end user sign-in activity.

 

Deciding when to require a second MFA factor is a common challenge for admins. Prompting end users to authenticate with an additional factor for every sign-in attempt can frustrate the users; however, having a less restrictive policy increases the risk of account compromise. With this feature, admins can configure the system so that individual end users are only prompted for an additional MFA factor when there is a change in behavior that the admin defines.

 

There are two components of security behavior detection:

  1. Define the behavior to track.
  2. Define an action to take if there is a change in trackable behavior for an end user.
Examples of trackable behaviors
  • Sign in from a new country, state, or city
  • Sign in from a new location more than a specified distance from previous successful sign ins
  • Sign in from a new device
  • Sign in from a new IP address
  • Sign in from a location deemed unfeasible for a user to travel to across two successive sign-in attempts.
Examples of actions to take
  • Permit access
  • Require the end user to validate with an additional multifactor authentication factor
  • Set the session lifetime

 

 

Improved New Device Behavior Detection


Improved New Device Behavior Detection supports browsers that store HTTP cookies. Device behavior detection is based on data passed from a web browser and a trusted application. For more information, see Improved New Device Behavior Detection

 

System Log events


The System Log lists behavior that is evaluated for any sign-in attempts.

For user.session.start and policy.evaluate.sign_on events:

  • Navigate to to DebugContext to see a map of behavior evaluations.
  • The map has entries in the form of key=value.
  • Key is the behavior name and value is the evaluation output.

Possible values:

  • POSITIVE: Behavior is detected. POSITIVE results in the policy rule matching – if MFA is configured for the rule, Okta prompts for MFA.
  • NEGATIVE: Behavior is not detected. NEGATIVE results in the policy rule not matching – if MFA is configured for the rule, Okta does not prompt for MFA.
  • UNKNOWN: Not enough history to detect behavior. UNKNOWN results in the policy rule matching – if MFA is configured for the rule, Okta prompts for MFA.
  • BAD_REQUEST: Not enough information from the sign-in attempt to detect behavior. For example, if the cookies and device fingerprint are missing, Okta treats it as a BAD_REQUEST, which results in the policy rule matching – if MFA is configured for the rule, Okta prompts for MFA.

 

Before you begin


Note the following about behavior detection:

  • You cannot deny access if a behavior condition is selected in a Sign On policy rule.
  • You can reset the behavior profile for an end user. This reset clears all tracked behavior history for the end user, but continues tracking new behavior.
  • You must include the new behavior in a Sign On policy in order for behavior detection to take effect. Defining a behavior only does not trigger any actions.
  • Location policies are based on a third party geo-location database — as a result, location data may not always be fully accurate. Okta updates geo-location IP data once a week to minimize potential inaccuracies with location data.

 

Step 1: Define a behavior type


Navigate to Security > Behavior Detection.

Behavior types are based on changes in location, device, or the IP address from which Okta is accessed. You can have several named behaviors for each of these behavior types. For example, one location behavior can be based on the country from which the sign on originates, and another behavior can be based on the city from which the sign on originates. Either or both of these behaviors can be used in sign on policies; in this example, you can prompt for a second MFA factor when there is a change of country, but permit access when there is a change of city.

 

 

The following table defines these behaviors:

Behavior Type Name Description Defaults and Customization
Location New City A city that has not been the source of a prior, successful sign in. Checked against the last 20 successful sign ins. You can change the number to check against.
New State A state or region that has not been the source of a prior, successful sign in. Checked against the last 15 successful sign ins. You can change the number of successful sign ins to check against.
New Country A country that has not been the source of a prior, successful sign in. Checked against the last 10 successful sign ins. You can change the number of successful sign ins to check against.
New Geo-Location A location outside a specified radius that has not been the source of a prior, successful sign in. Checked against the last 20 successful sign ins for locations that are outside a 20 kilometer radius of the locations of prior, successful sign ins. You can change the number of successful sign ins to check against, specify the radius size, and define the location by longitude and latitude.
Device New Device A device that has not been the source of a prior, successful sign in. A device is based on the client; therefore, changing the browser is considered new device Checked against the last 20 successful sign ins. You can change the number of successful sign ins to check against.
IP New IP An IP address that has not been the source of a prior, successful sign in. Checked against the last 50 successful sign ins. You can change the number of successful sign ins to check against.
Velocity Velocity

A measurement of velocity used to identify suspicious logins. Velocity is evaluated based on the distance and time elapsed between two subsequent user logins.

Checked against the geographic distance and time elapsed between two successive logins. Defaults to 805 km/h (500 mph).

 

In addition to these predefined behaviors, you can select Add Behavior to add a custom behavior. You can add any kind of behavior: location, device, or IP. The fields are the same as in the predefined behaviors.

 

Similar screens appear for a behavior type if you are adding or editing. The following screenshot shows a Geolocation behavior edit:

You can only use Active behaviors in security policies. You can leave a behavior as active if it is not used. Active means available for use in a sign on policy rule.

 

Step 2: Define an action


Navigate to Security > Authentication, and then select Sign On. Either create a new rule or edit an existing rule.

Add one of the behaviors to the And behavior is box, shown below.

 

To add a behavior, you can start typing a behavior name and a drop-down list of all matching defined behaviors displays from which you can select, as shown below.

 

When selected, the behavior name appears as shown below. To remove a behavior, click the X next to the name.

Note: If you add multiple behaviors, they are OR conditions. In the example show below, the behavior is defined as either a new city OR a new country.

 

When added, these behaviors are evaluated along with any other items defined in the rule. Specify what to do when the conditions are met in the Then access is section, as shown below.

Note: If you included an IP address or a network zone in this screen and you also included a behavior that contains IP address specification, all these criteria must be met to trigger the rule.

 

Reset end-user behavior


You can reset the behavior profile for a single end user to clear all tracked behavior history, but continue tracking new behavior. To reset a behavior profile, navigate to Directory > People, and then click on the user whose history you want to reset. In the screen that opens, select More Actions and then select Reset Behavior Profile from the drop-down menu, as shown below. You are prompted for a confirmation. You cannot undo this action.