Kaspersky Unified Monitoring and Analysis Platform
Использование набора функций lookup в SQL-запросах

Набор функций lookup (см. таблицу ниже) применяется в блоке WHERE SQL-запроса для добавления в поисковый запрос условий по активам и учетным записям.

Описание набора функций lookup

Тип функции

Поле события

Поле актива

Оператор

Описание

lookup_assets

 

DeviceAssetID

SourceAssetID

DestinationAssetID

 

name

os

osBuild

source

cii

ramSize

kscRtProtectionState

kscEncryptionState

kscAntiSpamStatus

kscEmailAvStatus

kscDlpStatus

kscStatusID

kscEdrStatus

aistatus

aiscore

=

Позволяет добавить в результат запроса условия по активам, значения полей которых совпадают со значением, указанным в запросе.

Для значений, которые являются числами, надо указывать строку с необходимым числом.

Например:

lookup_assets(DeviceAssetID, osBuild, '=', '19045.000000')

lookup_assets(DeviceAssetID, ramSize, '=', '3241234234')

kscLastAvBasesUpdate

kscLastInfoUpdate

kscLastUpdate

kscLastSystemStart

lastVisible

ramSize

aiscore

<

>

<=

>=

Позволяет добавить в результат запроса условия по активам, значения полей которых:

  • меньше значения, указанного в запросе;
  • больше значения, указанного в запросе;
  • меньше или равно значению, указанному в запросе;
  • больше или равно значению, указанному в запросе.

Для значений, которые являются числами, надо указывать строку с необходимым числом.

Например:

lookup_assets(DeviceAssetID, aiscore, '>', '50')

Значения, которые являются датами, можно указывать в следующих форматах:

  • Количество секунд:

    lookup_assets(DeviceAssetID, lastVisible, '>', '1725971837')

  • Количество миллисекунд:

    lookup_assets(DeviceAssetID, lastVisible, '<', '1725971837834')

  • Количество дней:

    lookup_assets(DeviceAssetID, lastVisible, '<', 'now-15d')

 

name

os

osBuild

fqdn

software

match

imatch

Позволяет добавить в результат запроса условия по активам с помощью строкового литерала или регулярного выражения.

Например:

  • Запрос со строковым литералом и оператором match:

    lookup_assets(DestinationAssetID, name, 'match','test.company.com')

  • Запрос со строковым литералом и оператором imatch:

    lookup_assets(DestinationAssetID, name, 'imatch','test.COMPANY.com')

  • Запрос с регулярным выражением и оператором match:

    lookup_assets(DestinationAssetID, name, 'match','([.-]?\w+)')

  • Запрос с регулярным выражением и оператором imatch:

    lookup_assets(DestinationAssetID, name, 'imatch','([A-Z])')

Допускается использовать регистронезависимое регулярное выражение (PCRE2).

ipAddress

macAddress

fqdn

software

kscStatusMask

in

Позволяет добавить в результат запроса условия по активам, значение которых соответствует значению, указанному в запросе.

Например:

lookup_assets(DeviceAssetID, fqdn , 'in', ['test_fqdn1.company.ru', 'test_fqdn2.company.ru'])

ipAddress

insubnet

Позволяет добавить в результат запроса условия по активам с IP-адресами, которые входят в указанную подсеть. IP-адрес указывается в формате CIDR.

Например:

lookup_assets(DeviceAssetID, ipAddress, 'insubnet', '10.0.0.0/24')

ipAddress

inrange

Позволяет добавить в результат запроса условия по активам, IP-адрес которых попадает в указанный диапазон.

Первый указанный в запросе IP-адрес является начальным, второй  конечным.

Например:

lookup_assets(DeviceAssetID, ipAddress, 'inrange', ['192.168.1.1', '192.168.1.184'])

По результатам выполнения запроса будут отфильтрованы активы с IP-адресами, находящимися в диапазоне от 192.168.1.1 до 192.168.1.184.

lookup_accounts

 

SourceAccountID

DestinationAccountID

 

name

guid

domain

cn

dn

employee_id

email

mail_nickname

mobile

sid

sam_name

telephone_number

principal_name

sn

title

division

department

manager

location

company

street_address

physical_delivery_office_name

uac

=

Позволяет добавить в результат запроса условия по учетным записям, значения полей которых совпадают со значением, указанным в запросе.

Для значений, которые являются числами, надо указывать строку с необходимым числом.

Например:

lookup_accounts(SourceAccountID, employee_id, '=', '15452')

name

guid

domain

cn

dn

employee_id

email

mail_nickname

mobile

sid

sam_name

telephone_number

principal_name

sn

type

title

division

department

manager

location

company

street_address

physical_delivery_office_name

like

Позволяет добавить в результат запроса условия по учетным записям, значения полей которых соответствуют like-выражению, указанному в запросе.

Подробнее об операторе like см. в SQL Language Expressions.

lookup_accounts(DestinationAccountID, name, 'like', '_ccount1%')

lookup_assets_category

DeviceAssetID

SourceAssetID

DestinationAssetID

Позволяет найти все события, у которых связанные активы находятся в указанной папке.

Например:

lookup_assets_category(DeviceAssetID, ['Main/Business Impact'])

где Main — это название тенанта, а Business Impact название папки.

Примеры SQL-запросов с функцией lookup

Вы можете задавать функцию lookup при ручном создании SQL-запросов. Примеры запросов с функцией lookup:

  • Все события таблицы events с полями событий TenantID и DeviceProduct, а также с полем актива fqdn, значение которого одержит подстроку win10. Количество отображаемых в таблице строк – 250.

    SELECT TenantID, DeviceProduct

    FROM `events`

    WHERE DeviceAssetID != ''

    AND lookup_assets(DeviceAssetID, fqdn, 'match', 'win10')

    LIMIT 250

  • Все события таблицы events с полями событий TenantID и DeviceProduct, а также со значениями поля EmployeeID, значение которого равно 15452. Количество отображаемых в таблице строк – 10.

    SELECT TenantID, DeviceProduct

    FROM `events`

    WHERE SourceAccountID != ''

    AND lookup_accounts(SourceAccountID, employee_id, '=', '15452')

    LIMIT 10

  • Все события таблицы events с полями событий TenantID и DeviceProduct, а также с указанием папки, в которой находится актив. Количество отображаемых в таблице строк – 100.

    SELECT TenantID, DeviceProduct

    FROM `events`

    WHERE DeviceAssetID != ''

    AND lookup_assets_category(DeviceAssetID, ['Main/Business Impact'])

    LIMIT 100