What is the CrowdStrike Integration for Sumo Logic?

Sumo Logic has expanded its security offerings by allowing customers to analyze their logs for potential threats and indicators of compromise. In partnership with CrowdStrike, Sumo Logic maintains an updated Threat Intelligence database that can be correlated with log data through queries. The Sumo Logic / CrowdStrike integration has two parts:

Sumo customers can now use the CrowdStrike database in threat analysis queries over their logs (through a new lookup operator).

The Sumo Logic Threat Intel lookup database is only available with Sumo Logic Enterprise and Professions accounts, or during a 30-day trial period. The Threat Intel lookup database is not available for Sumo Logic Free accounts.

How often do you refresh the threat feed from CrowdStrike?

The database is updated once per day. We have implemented a multi-layer cache for performance enhancements rather than returning to the master database on each query.

Can I export all of the threats from Sumo Logic?

No, we do not allow an export of the threat Intel feeds as that is confidential to CrowdStrike. However, we will match lookups from your logs against the entire threat database. You will ONLY see data returned when you have a match against the database to a specific threat from your log data (e.g IP, domain, email, etc.) via the threat lookup operator.

Is threat lookup real-time using Continuous Queries (CQs)?

Yes. You can scan for malicious Indicators of Compromise (IOCs) in real time using our lookup operator.

Can I historically search my logs for threats?

Yes, you can search any log data that is still retained and searchable using the Sumo Logic Platform. However, we suggest customers break up historical searches into smaller and more manageable chunks based on time range and/or source category for performance reasons.

If I don't see any results in any Dashboard, is that a bad thing?

No. No results in your Dashboards can mean that nothing has been identified by CrowdStrike as a threat, verified or unverified.

I searched a threat feed for a hash IOC that I know exists, but it wasn't found. Why?

It could be a case-sensitivity issue. In Sumo, the equal sign (=) and the not equal to sign (!=) conditions are case-sensitive; when you use them with Sumo operators you may need to convert the string to which the condition is applied to upper or lower case. For more information, see Using toLowerCase or toUpperCase with an equating condition.

Do IOCs and Threats expire?

IOCs and Threats will often remain in the system because an IOC, such as an IP address, could go dormant and they reappear as part of another threat The last valid on can be found under labels > Last_valid_on. Be aware that over the period, their Malicious Confidence can be downgraded or upgraded depending upon recent activity.

I found an IOC in VirusTotal (or any other third-party threat feed) but I can’t find that IOC in CrowdStrike using the Sumo Logic Lookup?

CrowdStrike focuses on quality versus quantity when it comes threat assessment. They have a dedicated Intel Team which does that work. A threat from a third-party feed may not be present in CrowdStrike threats because it has been rejected by the CrowdStrike Intel assessment Team.

I found threats in my network, now what do I do (how do I get more context about threat)?

The next step would be to look at the raw json field from the query. Fields such as ip_address_types, labels, relations, and malware_families in the json object provide more contextual information about threat.

With the malware family and other information, the user can search the internet for more as there is often data readily available on known threats.In addition, if the users would like more robust information, they can contact CrowdStrike directly and purchase individual reports or discuss upgrading to CrowdStrike Premium which includes more detailed reports.

What are Actors?

Threats are grouped by actors, which are based on location. Some threats are tied to nation-state actors. For instance, “Panda” is the umbrella term for all nation-state activity tied to the People’s Republic of China. Non-nation-state based threats are categorized by intention, not location; for instance, activist groups like the Syrian Electronic Army are categorized as “Jackal,” which expresses both intent and motivation. The following is the cryptonym system that Crowdstrike uses for threats categorization:

What is Unverified Malicious Confidence?

About 20% of the indicators are unverified. These unverified threats may be real threats, but the CrowdStrike team has not been able to assign a confidence level to them, so they remain in the unverified state.

Unverified is usually an IP address related to a known bad adversary (like Deep Panda) and it’s an IP that was used at some point in that campaign. As we all know - IP’s are dynamic. While Deep Panda utilized IP 201.22.52.32 at some point, it doesn’t mean that IP should be marked as bad or a threat, so we label it unverified. It’s more informational than actionable. CrowdStrike is looking at better ways to vet those IPs, for now it’s unverified. CrowdStrike advises customers not do anything with those IPs unless they’re seeing malicious activity from one of them. If the state is ever updated, CrowdStrike will change the “last updated” timestamp and the new state will appear. In the meantime, users should treat them as a possible candidate for analysis.

CrowdStrike recommends that you start with the highest priority and work down the chain.

What does the Threat Intel Quick Analysis App do?

This App scans all Sumo logs and parses (using regex) IP/Email/URL/Domain/File Name fields for comparison against the threat feed from CrowdStrike. Think of it as a Inner Join between parsed fields and the threat table.

This application can be slow to load depending on the volume of data you scan based on time, source category, etc. We highly recommend that you apply additional filter conditions as you screen your logs or run these types of searches on a schedule.

I already have parsed fields such as IPs, domain, URL, Email or File Name. Can I use them with this App, instead of parsing each log line again?

Should I use all logs (*) with this App or subset of logs, what's the recommendation?

You can use (*) to scan all of your ingested logs for threat, but depending on volume of logs it can impact performance of search query and the App.

For optimal performance, use a subset of the logs. For example:

_sourceCategory= */*/FIREWALL or _sourceCategory=*/*/LB or _sourceCategory=*/*/ROUTER or _sourceCategory=*/*/WINDOWS or _sourceCategory=*/*/SERVER

I am seeing noisy results in the lookup service, what do I do?

Use filters to remove as much of the noise as possible (eg use the NOT clause before passing tuples to the lookup operator)

Use the "labels" section of the raw field to retain results of interest, or throw away results that are not useful. For example, IPs related labels ‘TorProxy’ or ‘njRAT’ can be noisy and filtered out by customizing queries like:

Threat Intel App is a good starting point, but every customer will have to customize the queries powering the app for their own particular use.

Can I use scheduled Search with Threat Lookup service. If yes, what is the Run Frequency (time) I can use?

Yes, you can run scheduled searches can be set up with run frequency of Real Time or a longer time interval if desired.

Can I bring my own threat feed into Sumo Logic?

This isn't currently available as an App. You could create your own lookupusing a shared file.

What do I do if I find a bad IP (malicious level = high)?

You can further investigate bad IP triggers by updating your query to check the port as well and see if it is also identified as a malicious port.

Can you explain different fields in the Raw JSON object?

indicator

Type: string

Description: The indicator that was queried.

Type

Type: string

Description: The type of the indicator

Values:

binary_string

compile_time

device_name

domain

email_address

email_subject

event_name

file_mapping

file_name

file_path

hash_ion

hash_md5

hash_sha1

hash_sha256

ip_address

ip_address_block mutex_name

password

persona_name phone_number

port

registry

semaphore_name service_name

url

user_agent

username

x509_serial

x509_subject

report

Type: string

Description: The report ID that the indicator is associated with (e.g. CSIT-XXXX , CSIR-XXXX , etc). The report list is also represented under the labels list in the JSON data structure.

actor

Type: string

Description: The named Actor that the indicator is associated with (e.g. panda, bear , spider , etc). The actor list is also represented under the labels list in the JSON data structure.

malicious_confidence

Type: string

Description: Indicates a confidence level by which an indicator is considered to be malicious. For example, a malicious file hash may always have a value of high while domains and IP addresses will very likely change over time. The malicious confidence level is also represented under the labels list in the JSON data structure.

Values:

high—If indicator is an IP or domain, it has been associated with malicious activity within the last 60 days.

medium—If indicator is an IP or domain, it has been associated with malicious activity within the last 60-120 days.

low—If indicator is an IP or domain, it has been associated with malicious activity exceeding 120 days.

unverified—This indicator has not been verified by a Crowdstrike Intelligence analyst or an automated system.

published_date

Type: Timestamp in standard Unix time, UTC.

Description: This is the date the indicator was first published.

last_updated

Type: Timestamp in standard Unix time, UTC.

Description: This is the date the indicator was last updated in CrowdStrike internal database.

malware_family

Type: String

Description: Indicates the malware family an indicator has been associated with. An indicator may be associated with more than one malware family. The malware family list is also represented under the labels list in the JSON data structure.

kill_chain

Type: String

Description: The point in the kill chain at which an indicator is associated. The kill chain list is also represented under the labels list in the JSON data structure.

Values:

reconnaissance—This indicator is associated with the research, identification, and selection of targets by a malicious actor.

delivery—This indicator is associated with the delivery of an exploit or malicious payload.

exploitation—This indicator is associated with the exploitation of a target system or environment.

installation—This indicator is associated with the installation or infection of a target system with a remote access tool or other tool allowing for persistence in the target environment.

c2 (Command and Control)—This indicator is associated with malicious actor command and control.

actionOnObjectives—This indicator is associated with a malicious actor's desired effects and goals.

labels

Type: String

Description: The Intel Indicators API provides additional context around an indicator via the labels list. Some of these labels, such as 'malicious_confidence' are accessible via the top level data structure. All labels, including their associated timestamps, will be accessible via the labels list. The url string will look like:

DomainType/ActorControlled—It is believed the malicious actor is still in control of this domain.

DomainType/DGA—Domain is the result of malware utilizing a domain generation algorithm.

DomainType/DynamicDNS—Domain is owned or used by a dynamic DNS service.

DomainType/DynamicDNS/Afraid—Domain is owned or used by the Afraid.org dynamic DNS service.

DomainType/DynamicDNS/DYN—Domain is owned or used by the DYN dynamic DNS service.

DomainType/DynamicDNS/Hostinger—Domain is owned or used by the Hostinger dynamic DNS service.

DomainType/DynamicDNS/noIP—Domain is owned or used by the NoIP dynamic DNS service.

DomainType/DynamicDNS/Oray—Domain is owned or used by the Oray dynamic DNS service.

DomainType/KnownGood—Domain itself (or the domain portion of a URL) is known to be legitimate, despite having been associated with malware or malicious activity.

DomainType/LegitimateCompromised—Domain does not typically pose a threat but has been compromised by a malicious actor and may be serving malicious content.

DomainType/PhishingDomain—Domain has been observed to be part of a phishing campaign.

DomainType/Sinkholed—Domain is being sinkholed, likely by a security research team. This indicates that, while traffic to the domain likely has a malicious source, the IP address to which it is resolving is controlled by a legitimate 3rd party. It is no longer believed to be under the control of the actor.

DomainType/StrategicWebCompromise—While similar to the DomainType/LegitimateCompromised label, this label indicates that the activity is of a more targeted nature. Often, targeted attackers will compromise a legitimate domain that they know to be a watering hole frequently visited by the users at the organizations they are looking to attack.

DomainType/Unregistered—Domain is not currently registered with any registrars.

EmailAddressType

EmailAddressType/DomainRegistrant—Email address has been supplied in the registration information for known malicious domains.

EmailAddressType/SpearphishSender—Email address has been used to send spearphishing emails.