Importing External Custom Intelligence Feeds in CLI

You can import threat indicator feeds from external sources directly on the Security GatewayClosed Dedicated Check Point server that runs Check Point software to inspect traffic and enforce Security Policies for connected network resources..

After you import the feeds for the first time and install policy, the Security Gateway automatically pulls and enforces the indicator file each time the feed file is updated.

The Security Gateway imports the file over HTTP or HTTPS, or by reading from a local file or local directory.

Important - You must import the feed files on each Security Gateway and each Cluster MemberClosed Security Gateway that is part of a cluster. separately.

You can import indicator feeds in the CLI in these formats:

Feed's Resource

The Feed's resource for all formats can be one of these:

Resource

Description

Syntax Example

URL

HTTP or HTTPS.

Note - HTTPS resource with a self-signed certificate prompts for a user agreement to update the Trusted CA bundle.

You can skip the certificate verification by running this command in the Expert mode on the Security Gateway before you run the "ioc_feeds" command:

export EXT_IOC_NO_SSL_VALIDATION=1

ioc_feeds add --feed_name remote_feed --transport http --resource "http://10.0.0.1/my_feeds/stix_feed.xml"

Local File

Local File on the Security Gateway.

ioc_feeds add --feed_name local_feed --transport local_file --resource "/home/admin/my_feed.csv"

Local Directory

Local Directory on the Security Gateway that contains the applicable files in the correct feed format.

ioc_feeds add --feed_name local_feed --transport local_directory --resource "/home/admin/my_feed_folder"

'ioc_feeds' CLI Commands for Managing External Custom Intelligence Feeds

Use these "ioc_feeds" commands in the Expert mode on the Security Gateway to import and manage threat indicator files.

CSV Check Point and STIX Formats

Each record in CSV Check Point format and the STIX XML (STIX 1.0) format must have these fields:

Fields

Field

Description

Valid Values

Value Criteria

Field Type

UNIQ-NAME

Name of the observable

Free text

Must be unique

Mandatory

VALUE

A valid value for the type of the observable

As provided in this table

Value of a parameter

Mandatory

TYPE

Type of the observable

URL

Any valid URL

Not case-sensitive

Mandatory

Domain

Any URL Domain

IP

Standard IPv4 address

IP Range

A range of valid IPv4 addresses,

separated by a hyphen: <IP1>-<IP2>

MD5

Any valid MD5 hash

SHA1

Any valid SHA1 hash

SHA256

Any valid SHA256 hash

Mail-subject

Any non-empty text string

Mail-from

Can be one of these:

  • A single email address

    Example: abc@domain.com

  • An email domain

    Examples: @domain.com, or domain.com

Mail-to

Can be one of these:

  • A single email address

    Example: abc@domain.com

  • An email domain

    Examples: @domain.com, or domain.com

Mail-cc

Can be one of these:

  • A single email address

    Example: abc@domain.com

  • An email domain

    Examples: @domain.com, or domain.com

Mail-reply-to

Can be one of these:

  • A single email address

    Example: abc@domain.com

  • An email domain

    Examples: @domain.com, or domain.com

CONFIDENCE

Degree of confidence the observable presents

  • low

  • medium

  • high

  • critical

Default - high

Optional

SEVERITY

Degree of threat the observable presents

  • low

  • medium

  • high

  • critical

Default - high

Optional

PRODUCT

Check Point Software BladeClosed Specific security solution (module): (1) On a Security Gateway, each Software Blade inspects specific characteristics of the traffic (2) On a Management Server, each Software Blade enables different management capabilities. that processes the observable

  • AV

  • AB

Optional

COMMENT

 

Free text

 

Optional

Custom CSV Format

Custom Intelligence Feeds feature supports different kinds of CSV structure files.

Examples

Snort Format

This feature provides an ability to load Intelligence feeds in Snort format. With the Snort format, you can enhance your overall threat detection capabilities and control over your security operation

Snort rules use signatures to define attacks. The name of the imported Snort protection is the value of the msg field in the original Snort ruleClosed Set of traffic parameters and other conditions in a Rule Base (Security Policy) that cause specified actions to be taken for a communication session.. The Snort feed size is limited to 3000 observables and 6000 rules in total. If the feed exceeds these limits, it is not loaded.

Check Point supports Snort 2.9 version and lower. Snort syntax is described in the official documentation at snort.org.

Snort Rule Syntax

<Action> <Protocol> <Source IP Address> <Source Port> <Direction> <Destination IP Address> <Destination Port> (msg:"<Text>"; <Keyword>:"<Option>";)

SNORT rules have two logical parts: Rule Header and Rule Options.

  • SNORT Rule Header:

    <Action> <Protocol> <Address> <Port> <Direction> <Address> <Port>

  • SNORT Rule Options:

    <keyword>:"<option>"

Example for a Snort file:

This Snort rule is designed to generate an alert whenever it detects HTTP traffic containing the string ".pdf", which indicates an attempt to transfer PDF files over HTTP, potentially for blocking or further investigation

alert tcp $EXTERNAL_NET any -> $HOME_NET 80 (msg:"Block pdf files over HTTP"; content:".pdf";)

Parameter

Description

alert tcp

Specifies the protocol to inspect, in this case, TCP.

$EXTERNAL_NET any -> $HOME_NET 80

Defines the traffic flow direction. It instructs Snort to look for traffic from any external network ($EXTERNAL_NET) to any port (any) on the local network ($HOME_NET) on port 80 (HTTP).

(msg:"Block pdf files over HTTP"; content:".pdf";)

The rule itself. It consists of a descriptive message enclosed in double quotes (msg:"Block pdf files over HTTP") and a content match (content:".pdf") looking for the string ".pdf" in the HTTP traffic.

Supported SNORT Syntax

These are the generally supported syntax components. There are some limitations (see Unsupported SNORT Syntax).

  • Supported Content Keyword Modifiers: "nocase", "rawbytes", "depth", "offset:", "distance:", "within", "urilen"

  • Supported Threshold Rule Types - Threshold, Both (Limit is not supported.)

  • Supported Macros - HTTP_PORTS (Interpreted as 80 and 8080 ports.)

Note - Make sure that SNORT Rules with the same flowbits flag have the same content in the msg field. Otherwise, they will not be under the same protection.

Debugging:

The $FWDIR/log/SnortConvertor.elg file on the Management ServerClosed Check Point Single-Domain Security Management Server or a Multi-Domain Security Management Server. contains is updated with the debug messages from the last SnortConvertor run import of SNORT rules.

To find failed rule debugs in this file, search for: Failed to convert rule

Unsupported SNORT Syntax

These combinations of keywords and modifiers are implemented differently in the IPSClosed Check Point Software Blade on a Security Gateway that inspects and analyzes packets and data for numerous types of risks (Intrusion Prevention System). blade as SNORT protection rules than in SNORT Rules.

Best Practice - Test them before activating them in a production environment.

  • Use of depth or offset content, or ^ (carrot) in PCRE, without any http content, and with destination ports that are not HTTP_PORTS macro

  • http_client_body content or "P" PCRE modifier

  • A PCRE keyword with {} (curly braces) quantifier

  • Use of both content and byte_test keywords

  • http_header content modifiers or "H" PCRE modifiers enforced only on raw http data (not decoded and normalized header data)

  • Use of the urilen keyword, except in a SNORT Rule that has only http_uri and "U" PCRE modifiers, or http_raw_uri content modifier and I PCRE modifiers:

    • If the SNORT Rule has only http_uri content or "U" PCRE modifiers, the size will be of the decoded and normalized buffer.

    • If the SNORT Rule has only http_raw_uri content or "I" PCRE modifiers, the size will be of the raw uri buffer.

SSL Services

In addition to the conventional metadata service options, Check Point supports additional keywords specifically for SSL traffic.

Snort rules for SSL traffic can be defined using the metadata keyword.

In the Snort rule options add:

metadata: service <SSL service>;

Example

alert tcp any any -> any 443 (msg:"Fake SSL Certificate"; content:"|08 e4 98 72 49 bc 45 07 48 a4 a7 81 33 cb f0 41 a3 51 00 33|"; metadata: service sslHello;)

Options for <ssl service>

Service

Description

sslHello

The sslHello service will search the Client Hello or Sever Hello depending on the flow.

sslCertificate

The sslCertificate service will search the Client Certificate or Sever Certificate depending on the flow.

sslKeyx

The sslKeyx service will search the Client Key Exchange or Sever Key Exchange depending on the flow.

sslHeartbeat

The sslHeartbeat will search the SSL heartbeats.

sslCiphersuite

The sslCiphersuite will search the Cipher Suite sent by the client.

When you use the sslHello, sslCertificate, or sslKeyx services, it is necessary to define a flow direction as either "flow: to_server" or "flow: from_server".

Note - These services and content modifiers are unique to Check Point and will not be supported by other SNORT engines.