-
Notifications
You must be signed in to change notification settings - Fork 163
Updates attack-discovery.md
#453
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -4,8 +4,6 @@ mapped_urls: | |||||
- https://www.elastic.co/guide/en/serverless/current/attack-discovery.html | ||||||
--- | ||||||
|
||||||
# Attack Discovery | ||||||
|
||||||
% What needs to be done: Lift-and-shift | ||||||
|
||||||
% Use migrated content from existing pages that map to this page: | ||||||
|
@@ -19,4 +17,105 @@ $$$attack-discovery-generate-discoveries$$$ | |||||
|
||||||
$$$attack-discovery-what-info$$$ | ||||||
|
||||||
$$$attack-discovery-workflows$$$ | ||||||
$$$attack-discovery-workflows$$$ | ||||||
|
||||||
# Attack Discovery [attack-discovery] | ||||||
|
||||||
::::{warning} | ||||||
This feature is in technical preview. It may change in the future, and you should exercise caution when using it in production environments. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of GA features. | ||||||
:::: | ||||||
|
||||||
|
||||||
Attack Discovery leverages large language models (LLMs) to analyze alerts in your environment and identify threats. Each "discovery" represents a potential attack and describes relationships among multiple alerts to tell you which users and hosts are involved, how alerts correspond to the MITRE ATT&CK matrix, and which threat actor might be responsible. This can help make the most of each security analyst’s time, fight alert fatigue, and reduce your mean time to respond. | ||||||
|
||||||
For a demo, refer to the following video. | ||||||
|
||||||
<!-- ::::{admonition} | ||||||
<script type="text/javascript" async src="https://play.vidyard.com/embed/v4.js"></script> | ||||||
<img | ||||||
style="width: 100%; margin: auto; display: block;" | ||||||
class="vidyard-player-embed" | ||||||
src="https://play.vidyard.com/eT92arEbpRddmSM4JeyzdX.jpg" | ||||||
data-uuid="eT92arEbpRddmSM4JeyzdX" | ||||||
data-v="4" | ||||||
data-type="inline" | ||||||
/> | ||||||
</br> | ||||||
:::: --> | ||||||
|
||||||
|
||||||
This page describes: | ||||||
|
||||||
* [How to generate discoveries](#attack-discovery-generate-discoveries) | ||||||
* [What information each discovery includes](#attack-discovery-what-info) | ||||||
* [How you can interact with discoveries to enhance {{elastic-sec}} workflows](#attack-discovery-workflows) | ||||||
Comment on lines
+49
to
+51
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These anchor links aren't working properly in the preview, but since the syntax looks correct and the build is passing, it probably shouldn't be a blocker for merging. |
||||||
|
||||||
|
||||||
## Role-based access control (RBAC) for Attack Discovery [attack-discovery-rbac] | ||||||
|
||||||
The `Attack Discovery: All` privilege allows you to use Attack Discovery. | ||||||
|
||||||
:::{image} ../../../images/security-attck-disc-rbac.png | ||||||
:alt: Attack Discovery's RBAC settings | ||||||
::: | ||||||
|
||||||
|
||||||
## Generate discoveries [attack-discovery-generate-discoveries] | ||||||
|
||||||
When you access Attack Discovery for the first time, you’ll need to select an LLM connector before you can analyze alerts. Attack Discovery uses the same LLM connectors as [*AI Assistant*](ai-assistant.md). To get started: | ||||||
|
||||||
1. Click the **Attack Discovery** page from {{elastic-sec}}'s navigation menu. | ||||||
2. Select an existing connector from the dropdown menu, or add a new one. | ||||||
|
||||||
::::{admonition} Recommended models | ||||||
While Attack Discovery is compatible with many different models, refer to the [Large language model performance matrix](large-language-model-performance-matrix.md) to see which models perform best. | ||||||
|
||||||
:::: | ||||||
|
||||||
|
||||||
:::{image} ../../../images/security-attck-disc-select-model-empty.png | ||||||
:alt: attck disc select model empty | ||||||
::: | ||||||
|
||||||
3. Once you’ve selected a connector, click **Generate** to start the analysis. | ||||||
|
||||||
It may take from a few seconds up to several minutes to generate discoveries, depending on the number of alerts and the model you selected. | ||||||
|
||||||
::::{important} | ||||||
By default, Attack Discovery analyzes up to 100 alerts within this timeframe, but you can expand this up to 500 by clicking the settings icon () next to the model selection menu and adjusting the **Alerts** slider. Note that sending more alerts than your chosen LLM can handle may result in an error. | ||||||
:::: | ||||||
|
||||||
::::{important} | ||||||
Attack Discovery uses the same data anonymization settings as [Elastic AI Assistant](ai-assistant.md). To configure which alert fields are sent to the LLM and which of those fields are obfuscated, use the Elastic AI Assistant settings. Consider the privacy policies of third-party LLMs before sending them sensitive data. | ||||||
:::: | ||||||
|
||||||
|
||||||
Once the analysis is complete, any threats it identifies will appear as discoveries. Click each one’s title to expand or collapse it. Click **Generate** at any time to start the Attack Discovery process again with the most current alerts. | ||||||
|
||||||
|
||||||
## What information does each discovery include? [attack-discovery-what-info] | ||||||
|
||||||
Each discovery includes the following information describing the potential threat, generated by the connected LLM: | ||||||
|
||||||
1. A descriptive title and a summary of the potential threat. | ||||||
2. The number of associated alerts and which parts of the [MITRE ATT&CK matrix](https://attack.mitre.org/) they correspond to. | ||||||
3. The implicated entities (users and hosts), and what suspicious activity was observed for each. | ||||||
|
||||||
:::{image} ../../../images/security-attck-disc-example-disc.png | ||||||
:alt: Attack Discovery detail view | ||||||
::: | ||||||
|
||||||
|
||||||
## Incorporate discoveries with other workflows [attack-discovery-workflows] | ||||||
|
||||||
There are several ways you can incorporate discoveries into your {{elastic-sec}} workflows: | ||||||
|
||||||
* Click an entity’s name to open the user or host details flyout and view more details that may be relevant to your investigation. | ||||||
* Hover over an entity’s name to either add the entity to Timeline () or copy its field name and value to the clipboard (). | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Resizes the icons and makes them smaller
Suggested change
|
||||||
* Click **Take action**, then select **Add to new case** or **Add to existing case** to add a discovery to a [case](../investigate/cases.md). This makes it easy to share the information with your team and other stakeholders. | ||||||
* Click **Investigate in timeline** to explore the discovery in [Timeline](../investigate/timeline.md). | ||||||
* Click **View in AI Assistant** to attach the discovery to a conversation with AI Assistant. You can then ask follow-up questions about the discovery or associated alerts. | ||||||
|
||||||
:::{image} ../../../images/security-add-discovery-to-assistant.gif | ||||||
:alt: Attack Discovery view in AI Assistant | ||||||
::: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The current syntax guide doesn't contain guidance for videos. Florent seemed to have figured out a workaround (see this Slack thread) that we might be able to use if needed.