Skip to content
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

Creates AI Assistant use cases section #5303

Merged
merged 13 commits into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/assistant/ai-alert-triage.asciidoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[[assistant-triage]]
= Triage alerts with Elastic AI Assistant
= Triage alerts with AI Assistant
benironside marked this conversation as resolved.
Show resolved Hide resolved
Elastic AI Assistant can help you enhance and streamline your alert triage workflows by assessing multiple recent alerts in your environment, and helping you interpret an alert and its context.

When you view an alert in {elastic-sec}, details such as related documents, hosts, and users appear alongside a synopsis of the events that triggered the alert. This data provides a starting point for understanding a potential threat. AI Assistant can answer questions about this data and offer insights and actionable recommendations to remediate the issue.
Expand Down
26 changes: 26 additions & 0 deletions docs/assistant/ai-esql-queries.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[[esql-queries-assistant]]
= Generate, customize, and learn about {esql} queries with AI Assistant

:frontmatter-description: Elastic AI Assistant can help you write ES|QL queries.
benironside marked this conversation as resolved.
Show resolved Hide resolved
:frontmatter-tags-products: [security]
:frontmatter-tags-content-type: [guide]
:frontmatter-tags-user-goals: [get-started]

This page describes some of the ways Elastic AI Assistant can help you leverage the Elasticsearch Query Language ({esql}).
benironside marked this conversation as resolved.
Show resolved Hide resolved

With AI Assistant's <<ai-assistant-knowledge-base, {esql} knowledge base>> enabled, AI Assistant benefits from specialized training data that enables it to answer questions related to {esql} at an expert level.

AI Assistant can help with {esql} in many ways, including:

* **Education and training**: AI Assistant can serve as a powerful {esql} learning tool. Ask it for examples, explanations of complex queries, and best practices.
benironside marked this conversation as resolved.
Show resolved Hide resolved
* **Writing new queries**: Prompt AI Assistant to provide a query that accomplishes a particular task, and it will generate a query matching your description. For example: "Write a query to identify documents with `curl.exe` usage and calculate the sum of `destination.bytes`" or "What query would return all user logins to [a host] in the last six hours?"
benironside marked this conversation as resolved.
Show resolved Hide resolved
* **Providing feedback to optimize existing queries**: Send AI Assistant a query you want to work on and ask it for improvements, refactoring, a general assessment, or to optimize the query's performance with large data sets.
benironside marked this conversation as resolved.
Show resolved Hide resolved
* **Customizing queries for your environment**: Since each environment is unique, you may need to customize queries that you used in other contexts. AI Assistant can suggest necessary modifications based on contextual information you provide.
* **Troubleshooting**: Having trouble with a query or getting unexpected results? Ask AI Assistant to help you troubleshoot.

In these ways and others, AI Assistant can enable you to make use of {esql}'s advanced search capabilities to accomplish goals across {elastic-sec}.
benironside marked this conversation as resolved.
Show resolved Hide resolved

[discrete]
== Related documentation
Get started with <<security-assistant, AI Assistant>>, or learn more about {ref}/esql-kibana.html[{esql}].
benironside marked this conversation as resolved.
Show resolved Hide resolved

10 changes: 10 additions & 0 deletions docs/assistant/assistant-use-cases.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[[assistant-use-cases]]
= AI Assistant use cases

Elastic AI Assistant's flexibility means you can use it for many different purposes. The documentation in this section describes some of the possible uses for AI Assistant within {elastic-sec}:
benironside marked this conversation as resolved.
Show resolved Hide resolved

* <<attack-discovery-ai-assistant-incident-reporting>>
* <<assistant-triage>>
* <<esql-queries-assistant>>
benironside marked this conversation as resolved.
Show resolved Hide resolved

For general information about AI Assistant, refer to <<security-assistant, AI Assistant>>.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions docs/assistant/llm-connector-guides.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[[llm-connector-guides]]
= Large language model (LLM) connector setup guides
benironside marked this conversation as resolved.
Show resolved Hide resolved

This section contains instructions for setting up LLM connectors in {elastic-sec}. Setting up this type of connector enables you to use <<security-assistant, Elastic AI Assistant>> and <<attack-discovery, Attack discovery>>.
benironside marked this conversation as resolved.
Show resolved Hide resolved

Setup guides are available for the following LLM providers:

* <<assistant-connect-to-azure-openai, Azure OpenAI>>
* <<assistant-connect-to-bedrock, Amazon Bedrock>>
* <<assistant-connect-to-openai, OpenAI>>

30 changes: 16 additions & 14 deletions docs/assistant/security-assistant.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,11 @@

The Elastic AI Assistant utilizes generative AI to bolster your cybersecurity operations team. It allows users to interact with {elastic-sec} for tasks such as alert investigation, incident response, and query generation or conversion using natural language and much more.

AI Assistant can connect to multiple LLM providers so you can select the best model for your needs.

[role="screenshot"]
image::images/assistant-basic-view.png[Image of AI Assistant chat window,90%]

WARNING: The Elastic AI Assistant is designed to enhance your analysis with smart dialogues. Its capabilities are still developing. Users should exercise caution as the quality of its responses might vary. Your insights and feedback will help us improve this feature. Always cross-verify AI-generated advice for accuracy.

.Recommended models
[sidebar]
--
While AI Assistant is compatible with many different models, our testing found increased quality with Azure 32k, and faster and more cost-effective responses with Claude 3 Haiku and OpenAI GPT4 Turbo.
--

.Requirements
[sidebar]
--
Expand Down Expand Up @@ -50,9 +42,13 @@ NOTE: Elastic can automatically anonymize event data that you provide to AI Assi
[[set-up-ai-assistant]]
== Set up AI Assistant

You must create a generative AI connector before you can use AI Assistant.
You must create a generative AI connector before you can use AI Assistant. AI Assistant can connect to multiple large language model (LLM) providers so you can select the best model for your needs. For information about setting up a connector, refer to <<llm-connector-guides,LLM connector setup guides>>.
benironside marked this conversation as resolved.
Show resolved Hide resolved

For more information about setting up generative AI connectors, refer to <<assistant-connect-to-bedrock>>, <<assistant-connect-to-openai>>, or <<assistant-connect-to-azure-openai>>.
.Recommended models
[sidebar]
--
While AI Assistant is compatible with many different models, our testing found increased quality with Azure 32k, and faster and more cost-effective responses with Claude 3 Haiku and OpenAI GPT4 Turbo. For more information refer to the <<llm-performance-matrix>>.
benironside marked this conversation as resolved.
Show resolved Hide resolved
--

[discrete]
[[start-chatting]]
Expand Down Expand Up @@ -193,8 +189,14 @@ In addition to practical advice, AI Assistant can offer conceptual advice, tips,
* “I need to monitor for unusual file creation patterns that could indicate ransomware activity. How would I construct this query using EQL?”


include::ai-alert-triage.asciidoc[leveloffset=+1]
include::assistant-use-cases.asciidoc[leveloffset=+1]
include::ai-alert-triage.asciidoc[leveloffset=+2]
include::use-attack-discovery-ai-assistant-incident-reporting.asciidoc[leveloffset=+2]
include::ai-esql-queries.asciidoc[leveloffset=+2]

include::llm-connector-guides.asciidoc[leveloffset=+1]
include::azure-openai-setup.asciidoc[leveloffset=+2]
include::connect-to-openai.asciidoc[leveloffset=+2]
include::connect-to-bedrock.asciidoc[leveloffset=+2]

include::llm-performance-matrix.asciidoc[leveloffset=+1]
include::azure-openai-setup.asciidoc[leveloffset=+1]
include::connect-to-openai.asciidoc[leveloffset=+1]
include::connect-to-bedrock.asciidoc[leveloffset=+1]
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
[[attack-discovery-ai-assistant-incident-reporting]]
= Identify, investigate, and document threats with AI Assistant

:frontmatter-description: Elastic AI Assistant can help you write ES|QL queries.
:frontmatter-tags-products: [security]
:frontmatter-tags-content-type: [guide]
:frontmatter-tags-user-goals: [get-started]

Together, <<security-assistant, Elastic AI Assistant>> and <<attack-discovery,Attack discovery>> can help you address and mitigate threats, investigate incidents, and generate incident reports in various languages. These tools can make it easier to monitor, analyze, and document security threats.
benironside marked this conversation as resolved.
Show resolved Hide resolved

This guide describes how you can:
benironside marked this conversation as resolved.
Show resolved Hide resolved

. <<use-case-incident-reporting-use-attack-discovery-to-identify-threats, Use Attack discovery to identify threats>>
. <<use-case-incident-reporting-use-ai-assistant-to-analyze-a-threat, Use AI Assistant to analyze a threat>>
. <<use-case-incident-reporting-create-a-case-using-ai-assistant,Create a case using AI Assistant>>
. <<use-case-incident-reporting-translate,Translate incident information to a different human language using AI Assistant>>
benironside marked this conversation as resolved.
Show resolved Hide resolved


[discrete]
[[use-case-incident-reporting-use-attack-discovery-to-identify-threats]]
== Use Attack discovery to identify threats
Attack discovery can detect a wide range of threats by finding relationships among alerts that may indicate a coordinated attack. This enables you to comprehend how threats move through and affect your systems. Attack discovery generates detailed overviews of potential threats, which can serve as foundations for further analysis. Learn how to <<attack-discovery,get started with Attack discovery>>.
benironside marked this conversation as resolved.
Show resolved Hide resolved

image::images/attck-disc-11-alerts-disc.png[An Attack discovery card showing an attack with 11 related alerts,90%]
benironside marked this conversation as resolved.
Show resolved Hide resolved

In the screenshot above, Attack discovery found connections between eleven alerts, and used them to identify and describe an attack chain.
benironside marked this conversation as resolved.
Show resolved Hide resolved

After Attack discovery outlines your threat landscape, Elastic AI Assistant can help you quickly analyze a threat in detail.
benironside marked this conversation as resolved.
Show resolved Hide resolved

[discrete]
[[use-case-incident-reporting-use-ai-assistant-to-analyze-a-threat]]
== Use AI Assistant to analyze a threat

From a discovery on the Attack discovery page, you can click **View in AI Assistant** to start a chat that includes the discovery as context.
benironside marked this conversation as resolved.
Show resolved Hide resolved

AI Assistant can quickly compile and present key data and provide suggestions to help you generate an incident report and plan an effective response. You can prompt it to supply relevant data or suggestions with questions like “How can I remediate this threat?” or “What ES|QL query would isolate actions taken by this user?”
benironside marked this conversation as resolved.
Show resolved Hide resolved

image::images/attck-disc-esql-query-gen-example.png[An AI Assistant dialogue in which the user asks for a purpose-built {esql} query,90%]

The screenshot above shows an {esql} query generated by AI Assistant in response to a user prompt. Learn more about <<esql-queries-assistant,using AI Assistant for {esql}>>.
benironside marked this conversation as resolved.
Show resolved Hide resolved

At any point in a conversation with AI Assistant, you can add data, narrative summaries, and other information from its responses to {elastic-sec}'s case management system to help quickly generate incident reports.
benironside marked this conversation as resolved.
Show resolved Hide resolved

[discrete]
[[use-case-incident-reporting-create-a-case-using-ai-assistant]]
== Create a case using AI Assistant

From the AI Assistant dialogue, click **Add to case** (image:images/icon-add-to-case.png[Add to case icon,19,16]) next to a message to add the information in that message to a case. If you add a message with an Attack discovery to a case, AI Assistant automatically adds the attack summary and all associated alerts to the case. You can also add AI Assistant messages containing remediation steps and relevant data to the case.
benironside marked this conversation as resolved.
Show resolved Hide resolved

Cases help centralize relevant details in one place for easy sharing with stakeholders. Learn more about <<cases-overview,Cases>>.

[discrete]
[[use-case-incident-reporting-translate]]
== Translate incident information to a different human language using AI Assistant
AI Assistant can translate its findings into other human languages, helping to enable collaboration within global security teams and distributed Security Operations Centers (SOCs), and making it easier to operate in multilingual organizations.
benironside marked this conversation as resolved.
Show resolved Hide resolved

After AI Assistant provides information in one language, you can ask it to translate its responses. For example, if it provides remediation steps for an incident, you can instruct it to “Translate these remediation steps into Japanese.” You can then add the translated output to a case. This can help team members receive the same information and insights regardless of their primary language.

In our internal testing, AI Assistant translations preserved the accuracy and utility of the original content.
benironside marked this conversation as resolved.
Show resolved Hide resolved


[discrete]
== Related documentation
benironside marked this conversation as resolved.
Show resolved Hide resolved

Learn more about <<attack-discovery, Attack discovery>> or <<security-assistant, AI Assistant>>.