/
Behavior Models

Behavior Models

About this page

The Content Manager > Behavior Models page is for configuring, deploying and monitoring your behavior models.

This page displays a table of the models that can be deployed out of the box. (The list is also included in the last section of this document, “List of supported behavior models”, for reference below.)

content-manager-all-stopped.png
Content Manager > Behavior Models displays a table of available models. Initially all models are stopped.

There are several columns in the table: Behavior Model (the name of the model), Required Table (the required Devo table for deploying the model), status (started / paused / stopped), and state (Running / Learning). Initially all models are stopped by default. Each model must be started in order to begin learning and running.

Additionally, the Behavior Models table shows a column with a micro trend chart displaying the signal volume during the last 7 days for each behavior model. Clicking on a model’s chart will open Devo’s Search window with the signals table (entity.behavior.signals.filtered) in a separate browser tab, so that you can browse the details of that model’s signals as needed.

behavior-models.png
Once a model has started running, the volume of signals produced by the model over the last 7 days is shown as a micro chart in the Signals column.

Deploying behavior models

In order to deploy a model, click the Configure and Start button for that model. The configuration editor for the behavior model will appear. The editor has 4 tabs (sections) of configuration options: Signals, Whitelist, Alerts, and Advanced. The contents of each of these sections is described in more detail below.

Note that each of these sections is optional. If desired, the user may simply click the Start button at the bottom of the editor, in which case the default values for the configuration options will be applied.

For optimal performance and memory usage, stagger the deployment of your models rather than deploying all the models at once.

Signals

The Signals section of the configuration editor enables users to assign a risk score for each signal from the selected model. The risk score must be a number from zero to 100. This risk score will subsequently be used to compute the entity risk scores by the risk calculator. Note that the same risk score is applied to every signal from the selected model.

By default, a risk score of 20 is assumed for every model. This implies that every model is given equal weight by default. The user may adjust the signal risk scores of their models in order to give certain models more or less weight than other models.

Whitelist

The Whitelist section of the configuration editor enables users to specify lists of entities to be excluded from triggering signals by the selected model. Each model can be configured with 3 separate optional whitelists: users, devices, and domains.

Each of the 3 whitelists can be either entered manually or uploaded from a text file. The whitelist entries should be separated by carriage returns. The format for these entries is as follows:

Whitelist type

Whitelist entry format

Users

Users are all direct match string values. 

  • Example users: David Dark, david.dark@devo.com, Ddark 

Devices

Devices can be hostname, IP addresses, ranges of IP Addresses, and CIDR blocks.  

  • Example hostname: MacBookPro_0002 

  • Example IP Address Entries: 174.1.54.54 

  • Example IP Address Range: 173.1.54.100-173.1.54.130 

  • Example CIDR Block: 172.16.14.128/25

Domains

Domains are all direct match string values. 

  • Example domains: go0gle.com, poc.devo.com  

To upload values from a file, click the Upload CSV button to open the Upload Whitelist popup.

Select the file by either clicking Browse or dropping the file into the gray File box (left). Once a file has been selected, the start of the file’s contents will be shown in the Preview area (right).

  • Use the Values Column drop down to choose which column contains the values that you wish to whitelist. (Only one column can be selected at a time, but multiple uploads can be used to add multiple columns from the same CSV.)

  • Use the Header Row option to specify whether the CSV has a header row or not. If so, the first row in the CSV file will be ignored when adding it to the whitelist. 

  • Use the Add / Replace option to specify how the prior whitelist values should be handled. If “Add” is selected then all the uploaded values will be appended to the prior whitelist values; if “Replace” is selected then the prior whitelist values will be removed and the entire whitelist will be overwritten by the uploaded values. 

Note that User, Device, and Domain whitelists are included in each model configuration whether or not they are present in the model’s logic. If the model logic does not include ones of the 3 entity types then a warning message like the one below is displayed:

Alerts

The Alerts section of the configuration editor enables users to optionally trigger an alert for each of the model’s signals. By default, when a behavior model detects anomalous behavior it will produce only a behavior signal, not an alert. These so-called “behavior alerts” are not required for risk calculation; the behavior signals are sufficient. Nevertheless, behavior alerts can be useful for triaging, or simply for notifying the security analyst every time that a signal is generated by the selected behavior model.

  • To configure a new alert for each new signal from the selected model, choose the “Yes, trigger an alert” option.

  • You may then choose a priority for the behavior alert (Very high, high, medium, low, or very low).

  • If desired, you may also apply an additional level of whitelisting to the behavior alert. Check the Apply SecOps Asset Whitelisting option to prevent assets in your SecOps global whitelist lookup (SecOpsGWL) from triggering this behavior alert. (Note that for this feature to be enabled, you must install the SecOpsGWL and SecOpsAssetRole lookups from Devo exchange.)

Advanced

The Advanced section enables users to tune the model’s resources and performance. Internally, Devo behavior models operate in a distributed system of drivers and executors with flexible deployment configurations. The options in the Advanced section enable users to tune those configurations if needed. However, this is typically not necessary and only done in conjunction with guidance from Devo technical support. In most cases, the default values should suffice and should be left unmodified.

 

Working with models

Once a behavior model has been started, it begins a learning period. During the learning period, the model will monitor data without outputting any behavior signals. The model’s state will be shown as Learning during this time, as well as when the model was started and how much time remains in the model’s learning period. (The length of the learning period varies per model. “First Time” models typically require a 30 day learning period, whereas “Auth Impossible Travel” only requires 24 hours.) Once the learning period is over, the model’s state will be shown as Running to indicate that the model is ready to produce behavior signals.

Once a behavior model has been started, an action menu (labeled “…”) will be shown on the far right of the model’s row.

From this action menu, the user can:

  • Modify the model configuration. This will re-open the behavior model configuration editor.

  • Mute the model. A muted model is one in which data processing is proceeding normally, however the generation of signals is temporarily suppressed. Muting a model does not interrupt the model’s learning nor analysis. A muted model can be “unmuted” in order to unsuppress (i.e., re-enable) the generation of signals.

  • Pause the model. A paused model is one in which data processing has been temporarily disabled. The model is no longer processing incoming data and thus will not generate signals. A paused model can be “resumed” in order to continue its processing of incoming data. A paused model will preserve its configuration and its learned data. Therefore a model that is paused and then resumed will not need to restart its learning period from the beginning.

  • Stop the model. Like a paused model, a stopped model is no longer processing incoming data and will not generate signals. However, stopping a model is a more destructive action. Unlike pausing a model, stopping a model will delete the model’s learning data and its configuration. If the model is subsequently restarted later, the user will need to re-configure the model, and the model will require another learning period once it starts. For this reason, stopping a model is not recommended in most cases; it is typically done only for troubleshooting purposes under the guidance of Devo technical support.

 

List of supported behavior models

The table below enumerates the behavior models that are provided out of the box in Behavior Analytics.

 

Name

Description

Data Source

 

Name

Description

Data Source

1

WS ec2 first time action for AMI

This finds first time AWS ec2 actions per AMI events compared to the given time period (default 30 days).

cloud.aws.cloudtrail.events

2

AWS ec2 first time action for instance type

This finds first time AWS ec2 actions per instance type per user events compared to the given time period (default 30 days).

cloud.aws.cloudtrail.events

3

AWS ec2 first time action for region

This finds first time AWS ec2 actions per region events compared to the given time period (default 30 days).

cloud.aws.cloudtrail.events

4

AWS ec2 first time action for user

This finds first time AWS ec2 actions per user events compared to the given time period (default 30 days).

cloud.aws.cloudtrail.events

5

AWS first time action

This finds first time AWS actions per user events compared to the given time period (default 30 days).

cloud.aws.cloudtrail

6

AWS provisioning first time action in region

This finds first time AWS actions per user per region events compared to the given time period (default 30 days).

cloud.aws.cloudtrail.events

7

AWS provisioning first time city

This finds first time AWS provisioning actions per user per city events compared to the given time period (default 30 days).

cloud.aws.cloudtrail.events

8

AWS provisioning first time country

This finds first time AWS provisioning events per user per country compared to the given time period (default 30 days).

cloud.aws.cloudtrail.events

9

AWS provisioning first time IP

This finds first time AWS provisioning events per user per ip compared to the given time period (default 30 days).

cloud.aws.cloudtrail.events

10

Azure App Service First Time Action

This finds first time Azure App Service user actions compared to the given time period (default 30 days).

cloud.azure.appservice.administrative

11

Azure App Service First Time Country

This finds first time Azure App Service events from a country compared to the given time period (default 30 days).

cloud.azure.appservice.administrative

12

Azure app service first time user

This finds first time Azure App Service users compared to the given time period (default 30 days).

cloud.azure.appservice.administrative

13

Azure storage first time action

This finds first time Azure Storage action events compared to the given time period (default 30 days).

cloud.azure.storage.administrative

14

Azure storage first time country

This finds first time Azure Storage events from a country compared to the given time period (default 30 days).

cloud.azure.storage.administrative

15

Azure storage first time user

This finds first time Azure Storage users compared to the given time period (default 30 days).

cloud.azure.storage.administrative

16

Azure VM first time action

This finds first time Azure VM action events compared to the given time period (default 30 days).

cloud.azure.vm.administrative

17

Azure VM first time country

This finds first time Azure VM events from a country compared to the given time period (default 30 days).

cloud.azure.vm.administrative

18

Azure VM first time user

This finds first time Azure VM users compared to the given time period (default 30 days).

cloud.azure.vm.administrative

19

First time access to domain from user

Identifies first time Domain is accessed over the proxy by a user compared to the past 30 days.

proxy.all.access

20

First time authentication or authorization from a country

Identify if this is the first authentication or authorization request for a user from a country in the past 30 days.

auth.all

21

First time authentication or authorization from a organization

Identify if this is the first authentication or authorization request for a user from a organization in the past 30 days.

auth.all

22

First time authentication to a Windows domain

Identify if this is the first authentication to a Windows domain by a user in the past 30 days.

box.all.win

23

First time domain accessed by internal IP

Identifies first time internal IP accessed a domain over the proxy compared to the past 30 days.

proxy.all.access

24

First time login to device/asset

Identifies first time logins to devices compared to the past 30 days.

auth.all

25

GitHub organization first time access protocol events

This finds first time GitHub Organization user activity with a protocol compared to the given time period (default 30 days).

vcs.github.organization.audit

26

GitHub organization first time action events

This finds first time GitHub Organization user actions compared to the given time period (default 30 days).

vcs.github.organization.audit

27

GitHub organization first time country events

This finds first time GitHub Organization user activity from a country compared to the given time period (default 30 days).

vcs.github.organization.audit

28

GitHub organization first time repo access

This finds first time GitHub Organization repo access compared to the given time period (default 30 days).

vcs.github.organization.audit

29

GitHub organization first time user access

This finds first time GitHub Organization user access compared to the given time period (default 30 days).

vcs.github.organization.audit

30

GSuite admin first time action

This finds first time GSuite Admin actions per user compared to the given time period (default 30 days).

cloud.gsuite.reports.admin

31

O365 first time action

This finds first time O365 actions per user compared to the given time period (default 30 days).

loud.office365.management

32

Proxy first-time outbound connection to country

This detects first time connections from a given proxy to a country that is new compared to historical data (default 30 days).

proxy.all.access

33

Auth Impossible Travel

Detects impossible traveler situations from successful logins on a rolling 24-hour window.

auth.all