Skip to content

Commit

Permalink
Creates AI Assistant use cases section (#5303) (#5353)
Browse files Browse the repository at this point in the history
* Big update. Adds four new pages, two new images, and makes minor updates to existing pages.

* minor edits

* minor edit

* Apply suggestions from Janeen's review

Co-authored-by: Janeen Mikell Roberts <[email protected]>

* Update titles per James' review

* Apply suggestions from code review

Co-authored-by: Joe Peeples <[email protected]>

* Incorporates Joe's feedback

* Update docs/assistant/use-attack-discovery-ai-assistant-incident-reporting.asciidoc

Co-authored-by: Nastasha Solomon <[email protected]>

* Update docs/assistant/use-attack-discovery-ai-assistant-incident-reporting.asciidoc

Co-authored-by: Janeen Mikell Roberts <[email protected]>

---------

Co-authored-by: Janeen Mikell Roberts <[email protected]>
Co-authored-by: Joe Peeples <[email protected]>
Co-authored-by: Nastasha Solomon <[email protected]>
(cherry picked from commit 525a9b0)

Co-authored-by: Benjamin Ironside Goldstein <[email protected]>
  • Loading branch information
mergify[bot] and benironside authored Jun 8, 2024
1 parent 320f528 commit 280961d
Show file tree
Hide file tree
Showing 8 changed files with 121 additions and 15 deletions.
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
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
23 changes: 23 additions & 0 deletions docs/assistant/ai-esql-queries.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[[esql-queries-assistant]]
= Generate, customize, and learn about {esql} queries

: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]

Elastic AI Assistant can help you learn about and leverage the Elasticsearch Query Language ({esql}).

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.
* **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?"
* **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.
* **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}.


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. These topics describe some of the possible uses for AI Assistant within {elastic-sec}:

* <<attack-discovery-ai-assistant-incident-reporting>>
* <<assistant-triage>>
* <<esql-queries-assistant>>

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]]
= Set up connectors for large language models (LLM)

This section contains instructions for setting up connectors for LLMs so you can use <<security-assistant, Elastic AI Assistant>> and <<attack-discovery, Attack discovery>>.

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. To set up a connector, refer to <<llm-connector-guides,LLM connector setup guides>>.

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, more cost-effective responses with Claude 3 Haiku and OpenAI GPT4 Turbo. For more information, refer to the <<llm-performance-matrix>>.
--

[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,60 @@
[[attack-discovery-ai-assistant-incident-reporting]]
= Identify, investigate, and document threats

: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 identify and mitigate threats, investigate incidents, and generate incident reports in various languages so you can monitor and protect your environment.

In this guide, you'll learn how to:

* <<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>>


[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 a detailed summary of each potential threat, which can serve as the basis for further analysis. Learn how to <<attack-discovery,get started with Attack discovery>>.

image::images/attck-disc-11-alerts-disc.png[An Attack discovery card showing an attack with 11 related alerts,90%]

In the example above, Attack discovery found connections between eleven alerts, and used them to identify and describe an attack chain.

After Attack discovery outlines your threat landscape, use Elastic AI Assistant to quickly analyze a threat in detail.

[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, click **View in AI Assistant** to start a chat that includes the discovery as context.

AI Assistant can quickly compile essential data and provide suggestions to help you generate an incident report and plan an effective response. You can ask it to provide relevant data or answer questions, such as “How can I remediate this threat?” or “What {esql} query would isolate actions taken by this user?”

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 image 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}>>.

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 generate incident reports.

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

From the AI Assistant dialog window, 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 <<cases-overview,case>>. Cases help centralize relevant details in one place for easy sharing with stakeholders.

If you add a message that contains a 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 that contain remediation steps and relevant data to the case.

[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 among global security teams, and making it easier to operate within multilingual organizations.

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.

NOTE: In our internal testing, AI Assistant translations preserved the accuracy of the original content. However, all LLMs can make mistakes, so use caution.

0 comments on commit 280961d

Please sign in to comment.