From 0ea6a1d10d16ff116e0ae5b6853bded8c2394bbe Mon Sep 17 00:00:00 2001 From: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com> Date: Thu, 31 Jul 2025 15:49:26 +0100 Subject: [PATCH 1/2] Replace placeholder URLs (#6990) (cherry picked from commit 16334698c81dba33d1d3f90988852adf08fa3594) # Conflicts: # docs/AI-for-security/connect-to-byo.asciidoc # docs/detections/prebuilt-rules/rule-details/multiple-vault-web-credentials-read.asciidoc # docs/release-notes/8.16.asciidoc --- docs/AI-for-security/connect-to-byo.asciidoc | 199 ++++ .../cspm-get-started-aws.asciidoc | 2 +- .../kspm-get-started.asciidoc | 2 +- ...ltiple-vault-web-credentials-read.asciidoc | 10 + docs/release-notes/8.16.asciidoc | 893 ++++++++++++++++++ docs/release-notes/8.8.asciidoc | 6 +- docs/release-notes/8.9.asciidoc | 4 +- 7 files changed, 1109 insertions(+), 7 deletions(-) create mode 100644 docs/AI-for-security/connect-to-byo.asciidoc create mode 100644 docs/release-notes/8.16.asciidoc diff --git a/docs/AI-for-security/connect-to-byo.asciidoc b/docs/AI-for-security/connect-to-byo.asciidoc new file mode 100644 index 0000000000..36e1cb1603 --- /dev/null +++ b/docs/AI-for-security/connect-to-byo.asciidoc @@ -0,0 +1,199 @@ +[[connect-to-byo-llm]] += Connect to your own local LLM + +:frontmatter-description: Set up a connector to LM Studio so you can use a local model with AI Assistant. +:frontmatter-tags-products: [security] +:frontmatter-tags-content-type: [guide] +:frontmatter-tags-user-goals: [get-started] + +This page provides instructions for setting up a connector to a large language model (LLM) of your choice using LM Studio. This allows you to use your chosen model within {elastic-sec}. You'll first need to set up a reverse proxy to communicate with {elastic-sec}, then set up LM Studio on a server, and finally configure the connector in your Elastic deployment. https://www.elastic.co/blog/ai-assistant-locally-hosted-models[Learn more about the benefits of using a local LLM]. + +This example uses a single server hosted in GCP to run the following components: + +* LM Studio with the https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407[Mistral-Nemo-Instruct-2407] model +* A reverse proxy using Nginx to authenticate to Elastic Cloud + +image::images/lms-studio-arch-diagram.png[Architecture diagram for this guide] + +NOTE: For testing, you can use alternatives to Nginx such as https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/overview[Azure Dev Tunnels] or https://ngrok.com/[Ngrok], but using Nginx makes it easy to collect additional telemetry and monitor its status by using Elastic's native Nginx integration. While this example uses cloud infrastructure, it could also be replicated locally without an internet connection. + +NOTE: For information about the performance of open-source models on tasks within {elastic-sec}, refer to the <>. + +[discrete] +== Configure your reverse proxy + +NOTE: If your Elastic instance is on the same host as LM Studio, you can skip this step. Also, check out our https://www.elastic.co/blog/herding-llama-3-1-with-elastic-and-lm-studio[blog post] that walks through the whole process of setting up a single-host implementation. + +You need to set up a reverse proxy to enable communication between LM Studio and Elastic. For more complete instructions, refer to a guide such as https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-as-a-reverse-proxy-on-ubuntu-22-04[this one]. + +The following is an example Nginx configuration file: + +[source,txt] +-------------------------------------------------- +server { + listen 80; + listen [::]:80; + server_name ; + server_tokens off; + add_header x-xss-protection "1; mode=block" always; + add_header x-frame-options "SAMEORIGIN" always; + add_header X-Content-Type-Options "nosniff" always; + return 301 ; +} + +server { + + listen 443 ssl http2; + listen [::]:443 ssl http2; + server_name ; + server_tokens off; + ssl_certificate /etc/letsencrypt/live//fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live//privkey.pem; + ssl_session_timeout 1d; + ssl_session_cache shared:SSL:50m; + ssl_session_tickets on; + ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256'; + ssl_protocols TLSv1.3 TLSv1.2; + ssl_prefer_server_ciphers on; + add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always; + add_header x-xss-protection "1; mode=block" always; + add_header x-frame-options "SAMEORIGIN" always; + add_header X-Content-Type-Options "nosniff" always; + add_header Referrer-Policy "strict-origin-when-cross-origin" always; + ssl_stapling on; + ssl_stapling_verify on; + ssl_trusted_certificate /etc/letsencrypt/live//fullchain.pem; + resolver 1.1.1.1; + location / { + + if ($http_authorization != "Bearer ") { + return 401; +} + + proxy_pass :1234/; + } + +} +-------------------------------------------------- + +[IMPORTANT] +==== +If using the example configuration file above, you must replace several values: + +* Replace `` with your actual token, and keep it safe since you'll need it to set up the {elastic-sec} connector. +* Replace `` with your actual domain name. +* Update the `proxy_pass` value at the bottom of the configuration if you decide to change the port number in LM Studio to something other than 1234. +==== + +[discrete] +=== (Optional) Set up performance monitoring for your reverse proxy +You can use Elastic's {integrations-docs}/nginx[Nginx integration] to monitor performance and populate monitoring dashboards in the {security-app}. + +[discrete] +== Configure LM Studio and download a model + +First, install https://lmstudio.ai/[LM Studio]. LM Studio supports the OpenAI SDK, which makes it compatible with Elastic's OpenAI connector, allowing you to connect to any model available in the LM Studio marketplace. + +You must launch the application using its GUI before doing so using the CLI. For example, use Chrome RDP with an https://cloud.google.com/architecture/chrome-desktop-remote-on-compute-engine[X Window System]. After you've opened the application the first time using the GUI, you can start it by using `sudo lms server start` in the CLI. + +Once you've launched LM Studio: + +1. Go to LM Studio's Search window. +2. Search for an LLM (for example, `Mistral-Nemo-Instruct-2407`). Your chosen model must include `instruct` in its name in order to work with Elastic. +3. After you find a model, view download options and select a recommended version (green). For best performance, select one with the thumbs-up icon that indicates good performance on your hardware. +4. Download one or more models. + +IMPORTANT: For security reasons, before downloading a model, verify that it is from a trusted source. It can be helpful to review community feedback on the model (for example using a site like Hugging Face). + +image::images/lms-model-select.png[The LM Studio model selection interface] + +In this example we used https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407[`mistralai/Mistral-Nemo-Instruct-2407`]. It has 12B total parameters, a 128,000 token context window, and uses GGUF https://huggingface.co/docs/transformers/main/en/quantization/overview[quanitization]. For more information about model names and format information, refer to the following table. + +[cols="1,1,1,1", options="header"] +|=== +| Model Name | Parameter Size | Tokens/Context Window | Quantization Format +| Name of model, sometimes with a version number. +| LLMs are often compared by their number of parameters — higher numbers mean more powerful models. +| Tokens are small chunks of input information. Tokens do not necessarily correspond to characters. You can use https://platform.openai.com/tokenizer[Tokenizer] to see how many tokens a given prompt might contain. +| Quantization reduces overall parameters and helps the model to run faster, but reduces accuracy. +| Examples: Llama, Mistral, Phi-3, Falcon. +| The number of parameters is a measure of the size and the complexity of the model. The more parameters a model has, the more data it can process, learn from, generate, and predict. +| The context window defines how much information the model can process at once. If the number of input tokens exceeds this limit, input gets truncated. +| Specific formats for quantization vary, most models now support GPU rather than CPU offloading. +|=== + +[discrete] +== Load a model in LM Studio + +After downloading a model, load it in LM Studio using the GUI or LM Studio's https://lmstudio.ai/blog/lms[CLI tool]. + +[discrete] +=== Option 1: load a model using the CLI (Recommended) + +It is a best practice to download models from the marketplace using the GUI, and then load or unload them using the CLI. The GUI allows you to search for models, whereas the CLI allows you to use `lms get` to search for models. The CLI provides a good interface for loading and unloading. + +Once you've downloaded a model, use the following commands in your CLI: + +1. Verify LM Studio is installed: `lms` +2. Check LM Studio's status: `lms status` +3. List all downloaded models: `lms ls` +4. Load a model: `lms load`. + +image::images/lms-cli-welcome.png[The CLI interface during execution of initial LM Studio commands] + +After the model loads, you should see a `Model loaded successfully` message in the CLI. Select a model using the arrow and *Enter* keys. + +image::images/lms-studio-model-loaded-msg.png[The CLI message that appears after a model loads] + +To verify which model is loaded, use the `lms ps` command. + +image::images/lms-ps-command.png[The CLI message that appears after running lms ps] + +If your model uses NVIDIA drivers, you can check the GPU performance with the `sudo nvidia-smi` command. + +[discrete] +=== Option 2: load a model using the GUI + +Refer to the following video to see how to load a model using LM Studio's GUI. You can change the **port** setting, which is referenced in the Nginx configuration file. Note that the **GPU offload** was set to **Max**. + +======= +++++ + + +
+++++ +======= + +[discrete] +== (Optional) Collect logs using Elastic's Custom Logs integration + +You can monitor the performance of the host running LM Studio using Elastic's {integrations-docs}/log[Custom Logs integration]. This can also help with troubleshooting. Note that the default path for LM Studio logs is `/tmp/lmstudio-server-log.txt`, as in the following screenshot: + +image::images/lms-custom-logs-config.png[The configuration window for the custom logs integration] + +[discrete] +== Configure the connector in your Elastic deployment + +Finally, configure the connector: + +1. Log in to your Elastic deployment. +2. Find the **Connectors** page in the navigation menu or use the {kibana-ref}/introduction.html#kibana-navigation-search[global search field]. Then click **Create Connector**, and select **OpenAI**. The OpenAI connector enables this use case because LM Studio uses the OpenAI SDK. +3. Name your connector to help keep track of the model version you are using. +4. Under **Select an OpenAI provider**, select **Other (OpenAI Compatible Service)**. +5. Under **URL**, enter the domain name specified in your Nginx configuration file, followed by `/v1/chat/completions`. +6. Under **Default model**, enter `local-model`. +7. Under **API key**, enter the secret token specified in your Nginx configuration file. +8. Click **Save**. + +image::images/lms-edit-connector.png[The Edit connector page in the {security-app}, with appropriate values populated] + +Setup is now complete. You can use the model you've loaded in LM Studio to power Elastic's generative AI features. You can test a variety of models as you interact with AI Assistant to see what works best without having to update your connector. + +NOTE: While local models work well for <>, we recommend you use one of <> for interacting with <>. As local models become more performant over time, this is likely to change. diff --git a/docs/cloud-native-security/cspm-get-started-aws.asciidoc b/docs/cloud-native-security/cspm-get-started-aws.asciidoc index 43c3aba75f..de9976c2f7 100644 --- a/docs/cloud-native-security/cspm-get-started-aws.asciidoc +++ b/docs/cloud-native-security/cspm-get-started-aws.asciidoc @@ -227,7 +227,7 @@ You can use the AWS CLI to generate temporary credentials. For example, you coul [source,console] ---------------------------------- -sts get-session-token --serial-number arn:aws:iam::1234:mfa/your-email@example.com --duration-seconds 129600 --token-code 123456 +sts get-session-token --serial-number arn:aws:iam::1234:mfa/your-email --duration-seconds 129600 --token-code 123456 ---------------------------------- The output from this command includes the following fields, which you should provide when configuring the CSPM integration: diff --git a/docs/cloud-native-security/kspm-get-started.asciidoc b/docs/cloud-native-security/kspm-get-started.asciidoc index 87c9a41e73..abfacfda0e 100644 --- a/docs/cloud-native-security/kspm-get-started.asciidoc +++ b/docs/cloud-native-security/kspm-get-started.asciidoc @@ -159,7 +159,7 @@ You can use the AWS CLI to generate temporary credentials. For example, you coul [source,console] ---------------------------------- -`sts get-session-token --serial-number arn:aws:iam::1234:mfa/your-email@example.com --duration-seconds 129600 --token-code 123456` +`sts get-session-token --serial-number arn:aws:iam::1234:mfa/your-email@ --duration-seconds 129600 --token-code 123456` ---------------------------------- The output from this command includes the following fields, which you should provide when configuring the KSPM integration: diff --git a/docs/detections/prebuilt-rules/rule-details/multiple-vault-web-credentials-read.asciidoc b/docs/detections/prebuilt-rules/rule-details/multiple-vault-web-credentials-read.asciidoc index 149360ecba..a49d14bed4 100644 --- a/docs/detections/prebuilt-rules/rule-details/multiple-vault-web-credentials-read.asciidoc +++ b/docs/detections/prebuilt-rules/rule-details/multiple-vault-web-credentials-read.asciidoc @@ -67,6 +67,7 @@ sequence by winlog.computer_name, winlog.process.pid with maxspan=1s [any where event.code : "5382" and (winlog.event_data.SchemaFriendlyName : "Windows Web Password Credential" and winlog.event_data.Resource : "http*") and +<<<<<<< HEAD not winlog.event_data.SubjectLogonId : "0x3e7" and not winlog.event_data.Resource : "http://localhost/"] @@ -74,6 +75,15 @@ sequence by winlog.computer_name, winlog.process.pid with maxspan=1s (winlog.event_data.SchemaFriendlyName : "Windows Web Password Credential" and winlog.event_data.Resource : "http*") and not winlog.event_data.SubjectLogonId : "0x3e7" and not winlog.event_data.Resource : "http://localhost/"] +======= + not winlog.event_data.SubjectLogonId : "0x3e7" and + not winlog.event_data.Resource : ""] + + [any where event.code : "5382" and + (winlog.event_data.SchemaFriendlyName : "Windows Web Password Credential" and winlog.event_data.Resource : "http*") and + not winlog.event_data.SubjectLogonId : "0x3e7" and + not winlog.event_data.Resource : ""] +>>>>>>> 16334698 (Replace placeholder URLs (#6990)) ---------------------------------- diff --git a/docs/release-notes/8.16.asciidoc b/docs/release-notes/8.16.asciidoc new file mode 100644 index 0000000000..56582ce18c --- /dev/null +++ b/docs/release-notes/8.16.asciidoc @@ -0,0 +1,893 @@ +[[release-notes-header-8.16.0]] +== 8.16 + +[discrete] +[[release-notes-8.16.6]] +=== 8.16.6 + +[discrete] +[[known-issue-8.16.6]] +==== Known issues + +// tag::known-issue[] +[discrete] +.Duplicate alerts can be produced from manually running threshold rules +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running threshold rules could produce duplicate alerts if the date range was already covered by a scheduled rule execution. +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Manually running custom query rules with suppression could suppress more alerts than expected +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Installing an {elastic-defend} integration or a new agent policy upgrades installed prebuilt rules, overwriting user-added actions and exceptions +[%collapsible] +==== +*Details* + +When you install an {elastic-defend} integration or a new agent policy for this integration, all the installed prebuilt detection rules are upgraded to their latest versions (if any new versions are available). The upgraded rules lose any user-added rule actions and exceptions. + +*Workaround* + +To resolve this issue, before you add an {elastic-defend} integration to a policy in {fleet}, apply any pending prebuilt rule updates. This will prevent rule actions and exceptions from being overwritten. + +*Resolved* + +This issue is fixed in {stack} versions 8.17.6, 8.18.1, and 9.0.1. + +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck +[%collapsible] +==== +*Details* + + +An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems +[%collapsible] +==== +*Details* + + +An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: + +* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. +* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. + + +NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + + +==== +// end::known-issue[] + +[discrete] +[[bug-fixes-8.16.6]] +==== Bug fixes +* Fixes a bug that prevented you from changing column widths in Timeline ({kibana-pull}214178[#214178]). +* Fixes a bug that prevented you from being able to save event filters ({kibana-pull}213805[#213805]). +* Allows Automatic Import to handle a variety of structures when parsing system logs ({kibana-pull}212611[#212611]). +* Fixes a bug that prevented the selected data view and **Show only detection alerts** option from being reliably persisted in Timeline ({kibana-pull}211343[#211343]). +* Fixes a rare upgrade failure when {elastic-defend} has tamper protection enabled. +* Fixes a bug in the scan response action that can crash {elastic-defend}. +* Fixes a potential {elastic-defend} crash when generating multiple ransomware alerts on Windows. This issue was simultaneously mitigated by a cloud artifact update (manifest version 1.0.1381) on February 24, 2025. Internet-connected instances of {elastic-defend} will automatically receive this update -- no user intervention required. Air-gapped customers hosting their own artifacts should follow <>. We would like to acknowledge https://www.todyl.com[Todyl] for their assistance with this issue. +* Fixes a bug in {elastic-defend} for Linux where tty capture limit defaults were ignored. + +[discrete] +[[release-notes-8.16.5]] +=== 8.16.5 + +[discrete] +[[known-issue-8.16.5]] +==== Known issues + +// tag::known-issue[] +[discrete] +.Duplicate alerts can be produced from manually running threshold rules +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running threshold rules could produce duplicate alerts if the date range was already covered by a scheduled rule execution. +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Manually running custom query rules with suppression could suppress more alerts than expected +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck +[%collapsible] +==== +*Details* + + +An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems +[%collapsible] +==== +*Details* + + +An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: + +* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. +* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. + + +NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + + +==== +// end::known-issue[] + +[discrete] +[[bug-fixes-8.16.5]] +==== Bug fixes +* Fixes an issue with the Event Rendered View in the Alerts table where the table would sometimes have a height of zero and become unusable ({kibana-pull}212130[#212130]). +* Updated the `allocate_shellcode` {elastic-defend} API event behavior to explicitly only apply to unbacked memory. + +[discrete] +[[release-notes-8.16.4]] +=== 8.16.4 + +[discrete] +[[known-issue-8.16.4]] +==== Known issues + +// tag::known-issue[] +[discrete] +.Duplicate alerts can be produced from manually running threshold rules +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running threshold rules could produce duplicate alerts if the date range was already covered by a scheduled rule execution. +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Manually running custom query rules with suppression could suppress more alerts than expected +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck +[%collapsible] +==== +*Details* + + +An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems +[%collapsible] +==== +*Details* + + +An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: + +* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. +* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. + + +NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + + +==== +// end::known-issue[] + +[discrete] +[[features-8.16.4]] +==== New features +* Adds the `advanced.malware.max_file_size_bytes` <>, which allows you to control the maximum file size for malware protection. + +[discrete] +[[enhancements-8.16.4]] +==== Enhancements +* Enhances the performance of {elastic-defend} network events monitoring for better CPU utilization and responsiveness. +* Adds byte counts to Linux {elastic-defend} network disconnect events. + +[discrete] +[[bug-fixes-8.16.4]] +==== Bug fixes +* Ensures that multiple IPs are displayed as individual links in the Alerts table, even if they're passed as a single string ({kibana-pull}209475[#209475]). +* Fixes an AI Assistant bug that prevented you from selecting different connector types after initially choosing one ({kibana-pull}208969[#208969]). +* Adds missing fields to Automatic Import's input manifest templates ({kibana-pull}208768[#208768]). +* Ensures that Automatic Import's structured log template surrounds single backslashes with single quotes when the backslash is used as an escape character ({kibana-pull}209736[#209736]). +* Adds fields that are missing from Automatic Import's `aws-s3-manifest.yml` file ({kibana-pull}208080[#208080]). +* Allows {elastic-defend} to detect or prevent malware process or image loads from WebDAV servers. +* Allows {elastic-defend} to bypass network traffic from other computers when promiscuous mode is enabled on Windows. +* Fixes a bug with the `get-file` Endpoint response action. When you used the `get-file` response action to retrieve a Windows Alternate Data Stream, the resulting `.zip` archive would contain a checksum error that made it unusable by most zip tools. +* Increases the maximum number of ETW buffers that {elastic-defend} can use. +* Fixes a bug in {elastic-defend} where a combination of "descendent of process" event filters and unenriched events would not match other event filters. +* Fixes an issue where {elastic-defend} wasn't correctly populating `event.created` for process events on Windows. +* When aggregating events, {elastic-defend} was using the final event's timestamp for the aggregated event, which was a bug. Now, {elastic-defend} will use the first event's timestamp as originally intended. + +[discrete] +[[release-notes-8.16.3]] +=== 8.16.3 + +[discrete] +[[known-issue-8.16.3]] +==== Known issues + +// tag::known-issue[] +[discrete] +.Duplicate alerts can be produced from manually running threshold rules +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running threshold rules could produce duplicate alerts if the date range was already covered by a scheduled rule execution. +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Manually running custom query rules with suppression could suppress more alerts than expected +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck +[%collapsible] +==== +*Details* + + +An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems +[%collapsible] +==== +*Details* + + +An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: + +* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. +* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. + + +NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + + +==== +// end::known-issue[] + +[discrete] +[[bug-fixes-8.16.3]] +==== Bug fixes + +* Fixes Integration and Datastream name validation ({kibana-pull}204943[#204943]). +* Improves how the rule query field handles whitespace for long pre-formatted texts. This fix only applies to Firefox, not Chrome or Safari ({kibana-pull}203993[#203993]). +* Adds role-based access control to the Automatic Import APIs ({kibana-pull}203882[#203882]). +* Changes the validation for API responses from SentinelOne and Crowdstrike. This fix allows for non-JSON responses, such as stream, to be returned ({kibana-pull}203820[#203820]). +* Fixes a bug that caused a warning to display when you modified the index patterns of a rule that had a filter using `AND` or `OR` conditions ({kibana-pull}201776[#201776]). +* Fixes a bug that caused the diff view to incorrectly mark certain characters as changed in specific cases ({kibana-pull}205138[#205138]). +* Lists all policies to ensure that integrations are properly displayed ({kibana-pull}205103[#205103]). +* Fixes incompatibility issues with {elastic-defend}. In 8.16.2 and 8.17.0, a portion of the Windows kernel driver was refactored to work around an incompatibility with CrowdStrike Falcon which could result in a `CRITICAL_PROCESS_DIED` bugcheck. It was discovered that this incompatibility could also be triggered by Memory Protection, so a portion of the kernel driver was refactored to avoid this conflict. ++ +Affected users who are unable to upgrade should set one or both of the following in their {elastic-defend} advanced policy, depending on their version: + +** `windows.advanced.events.process.creation_flags: false` (8.13.0 - 8.16.1) +** `windows.advanced.memory_protection.shellcode_trampoline_detection: false` (8.12.0 - 8.16.2) +* Fixes an {elastic-defend} bug that could cause the Windows API event call stack enrichment to fail for processes that started before {elastic-defend} and if another security product was present and hooking system DLLs. +* Fixes an {elastic-defend} bug that caused Windows API events involving `mswsock.dll` to be mislabeled with the `proxy_call` behavior. + +[discrete] +[[release-notes-8.16.2]] +=== 8.16.2 + +[discrete] +[[known-issue-8.16.2]] +==== Known issues + +// tag::known-issue[] +[discrete] +.Duplicate alerts can be produced from manually running threshold rules +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running threshold rules could produce duplicate alerts if the date range was already covered by a scheduled rule execution. +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Manually running custom query rules with suppression could suppress more alerts than expected +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck +[%collapsible] +==== +*Details* + + +An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems +[%collapsible] +==== +*Details* + + +An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: + +* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. +* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. + + +NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + + +==== +// end::known-issue[] + +[discrete] +[[bug-fixes-8.16.2]] +==== Bug fixes + +* Rejects CEF logs from Automatic Import and redirects you to the CEF integration instead ({kibana-pull}201792[#201792], {kibana-pull}202994[#202994]). +* Fixes an issue that could interfere with Knowledge Base setup ({kibana-pull}201175[#201175]). +* Modifies the empty state message that appears when installing prebuilt rules ({kibana-pull}202226[#202226]). +* Turns off the **Install All** button on the **Add Elastic Rules** page while rules are being installed ({kibana-pull}201731[#201731]). +* Removes fields with an `@` from the script processor ({kibana-pull}201548[#201548]). +* Fixes a bug with threshold rules that prevented cardinality details from appearing ({kibana-pull}201162[#201162]). +* Fixes an exceptions bug that prevented the **Exceptions** tab from properly loading if exceptions contained comments with newline characters (`\n`) ({kibana-pull}202063[#202063]). +* Fixes a bug that caused an entity engine to get stuck in the `Installing` status if the default Security data view didn't exist. With this fix, engines now correctly report the `Error` state ({kibana-pull}201140[#201140]). +* Fixes an issue that prevented you from successfully importing TSV files with asset criticality data if you're on Windows ({kibana-pull}199791[#199791]). +* Improves {elastic-defend} by refactoring the kernel driver to work around a `CRITICAL_PROCESS_DIED` bug check (BSOD) that can occur due to a conflict with CrowdStrike Falcon. +* Fixes an {elastic-defend} bug that caused the **Open Elastic Security** button in the Windows Security Center to be non-functional. Now, you're informed that {elastic-defend} is managed by your system administrator. + +[discrete] +[[release-notes-8.16.1]] +=== 8.16.1 + +[discrete] +[[known-issue-8.16.1]] +==== Known issues + +// tag::known-issue[201820] +[discrete] +.The **Exceptions** tab won't properly load if exceptions contain comments with newline characters (`\n`) +[%collapsible] +==== +*Details* + +On December 5, 2024, it was discovered that the **Exceptions** tab won't load properly if any exceptions contain comments with newline characters (`\n`). This issue occurs when you upgrade to 8.16.0 or later ({kibana-issue}201820[#201820]). + +*Workaround* + +Upgrade to 8.16.2, or follow the workarounds below. + +For custom rules: + +. From the **Rules** page, <> the rule or rules with the affected exception lists. +. Modify the `.ndjson` file so `comments` no longer contain newline characters. +. Return to the **Rules** page and <> the rules. Make sure to select the **Overwrite existing exception lists with conflicting "list_id"** option. + +For prebuilt rules: + +NOTE: If you only need to fix exceptions for the Elastic Endpoint rule, you can export and re-import its exception list from the <> page. + +. Follow these steps to fetch the affected exception list ID or IDs that are associated with the rule: +.. Find the affected rule's ID (`id`). From the **Rules** page, open the details of a rule, go to the page URL, and copy the string at the end. For example, in the URL http://host.name/app/security/rules/id/167a5f6f-2148-4792-8226-b5e7a58ef46e, the string at the end (`167a5f6f-2148-4792-8226-b5e7a58ef46e`) is the `id`. +.. Specify the `id` when fetching the rule's details using the {api-kibana}/operation/operation-readrule[Retrieve a detection rule API]. Here is an example request that includes the `id`: ++ +[source,console] +---- +curl -H 'Authorization: ApiKey API_KEY_HERE' -H 'kbn-xsrf: true' -H 'elastic-api-version: 2023-10-31' '${KIBANA_URL}/api/detection_engine/rules?id=167a5f6f-2148-4792-8226-b5e7a58ef46e +---- ++ +.. The JSON response contains the `id`, `list_id`, and `namespace_type` values within the `exceptions_list` key (as shown below). You need these values when using the Exception list API to retrieve the affected exception list. ++ +[source,console] +---- +{ + "id": "167a5f6f-2148-4792-8226-b5e7a58ef46e", + "exceptions_list": [ + { + "id": "490525a2-eb66-4320-95b5-88bdd1302dc4", + "list_id": "f75aae6f-0229-413f-881d-81cb3abfbe2d", + "namespace_type": "single" + } + ] +} +---- ++ +. Use the export exceptions API to retrieve the affected exception list. Insert the values for the `id`, `list_id`, and `namespace_type` parameters into the following API call: ++ +[source,console] +---- +curl -XPOST -H 'Authorization: ApiKey API_KEY_HERE' -H 'kbn-xsrf: true' -H 'elastic-api-version: 2023-10-31' '${KIBANA_URL}/api/exception_lists/_export?list_id=f75aae6f-0229-413f-881d-81cb3abfbe2d&id=490525a2-eb66-4320-95b5-88bdd1302dc4&namespace_type=single' -o list.ndjson +---- ++ +. Modify the exception list's `.ndjson` file to ensure `comments[].comment` values don't contain newline characters (`\n`). +. Re-import the modified exception list using **Import exception lists** option on the <> page. The import will initially fail because the exception list already exists, and an option to overwrite the existing list will appear. Select the option, then resubmit the request to import the corrected exception list. + +*Resolved* + +On December 17, 2024, this issue was resolved. + +==== +// end::known-issue[201820] + +// tag::known-issue[] +[discrete] +.Manually running threshold rules may generate duplicate alerts +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running threshold rules could generate duplicate alerts if the date range was already covered in a scheduled rule execution. + +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Manually running custom query rules with suppression could suppress more alerts than expected +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. + +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck +[%collapsible] +==== +*Details* + + +An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems +[%collapsible] +==== +*Details* + + +An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: + +* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. +* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. + + +NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + + +==== +// end::known-issue[] + +[discrete] +[[bug-fixes-8.16.1]] +==== Bug fixes +* Fixes a bug that caused the **Alerts** page to crash if you upgraded to 8.16 and accessed the page in a non-default {kib} space ({kibana-pull}200058[#200058]). +* Fixes a bug that caused the Elastic AI Assistant Knowledge Base to fail if the current user had a colon (`:`) in their username and attempted to access Knowledge Base entries ({kibana-pull}200131[#200131]). +* Fixes a bug that made values unavailable for the Knowledge Base **Index** field, which lets you specify an index as a knowledge source ({kibana-pull}199990[#199990]). +* Fixes a bug in Automatic Import where icons were not shown after the integration was installed ({kibana-pull}201139[#201139]). +* Fixes a bug that unset the `required_fields` field if you updated a rule by sending a `PATCH` request that didn't contain the `required_fields` field ({kibana-pull}199901[#199901]). +* Fixes the entity store initialization error that was caused by risk engine failures. Now, when you upgrade to 8.16.1, or follow the standard flow for initializing the entity store, the risk engine no longer fails while deleting the component template. In addition, the index template will correctly reference the new component template, ensuring the successful initialization of the entity store ({kibana-pull}199734[#199734]). +* Improves the warning message that displays when asset criticality assignments are duplicated during the bulk assignment flow ({kibana-pull}199651[#199651]). +* Fixes a time skew bug that occurred when Linux virtual machines using eBPF event probes were suspended and then resumed. + +[discrete] +[[release-notes-8.16.0]] +=== 8.16.0 + +[discrete] +[[known-issue-8.16.0]] +==== Known issues + +// tag::known-issue[201820] +[discrete] +.The **Exceptions** tab won't properly load if exceptions contain comments with newline characters (`\n`) +[%collapsible] +==== +*Details* + +On December 5, 2024, it was discovered that the **Exceptions** tab won't load properly if any exceptions contain comments with newline characters (`\n`). This issue occurs when you upgrade to 8.16.0 or later ({kibana-issue}201820[#201820]). + +*Workaround* + +Upgrade to 8.16.2, or follow the workarounds below. + +For custom rules: + +. From the **Rules** page, <> the rule or rules with the affected exception lists. +. Modify the `.ndjson` file so `comments` no longer contain newline characters. +. Return to the **Rules** page and <> the rules. Make sure to select the **Overwrite existing exception lists with conflicting "list_id"** option. + +For prebuilt rules: + +NOTE: If you only need to fix exceptions for the Elastic Endpoint rule, you can export and re-import its exception list from the <> page. + +. Follow these steps to fetch the affected exception list ID or IDs that are associated with the rule: +.. Find the affected rule's ID (`id`). From the **Rules** page, open the details of a rule, go to the page URL, and copy the string at the end. For example, in the URL http://host.name/app/security/rules/id/167a5f6f-2148-4792-8226-b5e7a58ef46e, the string at the end (`167a5f6f-2148-4792-8226-b5e7a58ef46e`) is the `id`. +.. Specify the `id` when fetching the rule's details using the {api-kibana}/operation/operation-readrule[Retrieve a detection rule API]. Here is an example request that includes the `id`: ++ +[source,console] +---- +curl -H 'Authorization: ApiKey API_KEY_HERE' -H 'kbn-xsrf: true' -H 'elastic-api-version: 2023-10-31' '${KIBANA_URL}/api/detection_engine/rules?id=167a5f6f-2148-4792-8226-b5e7a58ef46e +---- ++ +.. The JSON response contains the `id`, `list_id`, and `namespace_type` values within the `exceptions_list` key (as shown below). You need these values when using the Exception list API to retrieve the affected exception list. ++ +[source,console] +---- +{ + "id": "167a5f6f-2148-4792-8226-b5e7a58ef46e", + "exceptions_list": [ + { + "id": "490525a2-eb66-4320-95b5-88bdd1302dc4", + "list_id": "f75aae6f-0229-413f-881d-81cb3abfbe2d", + "namespace_type": "single" + } + ] +} +---- ++ +. Use the export exceptions API to retrieve the affected exception list. Insert the values for the `id`, `list_id`, and `namespace_type` parameters into the following API call: ++ +[source,console] +---- +curl -XPOST -H 'Authorization: ApiKey API_KEY_HERE' -H 'kbn-xsrf: true' -H 'elastic-api-version: 2023-10-31' '${KIBANA_URL}/api/exception_lists/_export?list_id=f75aae6f-0229-413f-881d-81cb3abfbe2d&id=490525a2-eb66-4320-95b5-88bdd1302dc4&namespace_type=single' -o list.ndjson +---- ++ +. Modify the exception list's `.ndjson` file to ensure `comments[].comment` values don't contain newline characters (`\n`). +. Re-import the modified exception list using **Import exception lists** option on the <> page. The import will initially fail because the exception list already exists, and an option to overwrite the existing list will appear. Select the option, then resubmit the request to import the corrected exception list. + +*Resolved* + +On December 17, 2024, this issue was resolved. + +==== +// end::known-issue[201820] + +// tag::known-issue[] +[discrete] +.Attempting to edit an Elastic AI Assistant Knowledge Base index results in an error +[%collapsible] +==== +*Details* + +Updating a Knowledge Base entry of type "index" results in an error. + +*Workaround* + +Instead of updating an "index" entry, delete it and add it again with the desired changes. + +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Manually running threshold rules may generate duplicate alerts +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running threshold rules could generate duplicate alerts if the date range was already covered in a scheduled rule execution. + +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Manually running custom query rules with suppression could suppress more alerts than expected +[%collapsible] +==== +*Details* + +On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. + +==== +// end::known-issue[] + +// tag::known-issue-53[] +[discrete] +.Alerts page crashes if you upgrade to 8.16 and access it in a non-default {kib} space +[%collapsible] +==== +*Details* + +On November 14, 2024, it was discovered that the **Alerts** page would crash and display an `Unable to load` error if you upgraded to 8.16 and accessed the page in a non-default {kib} space. + +*Workaround* + +Manually edit your browser's local storage and refresh the **Alerts** page: + +NOTE: These instructions only apply to the Google Chrome browser. Modify the steps based on the browser you're using. + +. Right-click anywhere on the **Alerts** page, then select *Inspect* to open Chrome's Developer Tools. +. Go to *Application -> Storage*, then expand *Local Storage*. +. Click on the name of your Kibana instance, for example, :1234. +. Search for the `siem..pageFilters` key, right-click on the value, then click *Delete*. If you have multiple non-default spaces, do this for each space. +. Refresh the **Alerts** page to reload it. + +*Resolved* + +This issue is fixed in {stack} version 8.16.1. + +==== +// end::known-issue-53[] + +// tag::known-issue[] +[discrete] +.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck +[%collapsible] +==== +*Details* + + +An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + +==== +// end::known-issue[] + +// tag::known-issue[] +[discrete] +.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems +[%collapsible] +==== +*Details* + + +An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. + +*Workaround* + + +If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: + +* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. +* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. + + +NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. + +*Resolved* + +This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. + + +==== +// end::known-issue[] + +[discrete] +[[breaking-changes-8.16.0]] +==== Breaking changes + +* During shutdown, {kib} now waits for all the ongoing requests to complete according to the `server.shutdownTimeout` setting. During that period, the incoming socket is closed and any new incoming requests are rejected. Before this update, new incoming requests received a response with the status code 503 and body `{ "message": "{kib} is shutting down and not accepting new incoming requests" }`. + +[discrete] +[[features-8.16.0]] +==== New features + +* Introduces Knowledge Base for Elastic AI Assistant, which allows you to specify information for AI Assistant to remember when responding to your queries ({kibana-pull}186566[#186566], {kibana-pull}192665[#192665]). +* Enables agentless deployment for Elastic's Cloud Security Posture Management integration and the new Cloud Asset Inventory integration ({kibana-pull}191557[#191557]). +* Enables data collected by the Wiz and AWS Security Hub integrations to appear on the Findings page and in entity details flyouts (https://github.com/elastic/integrations/pull/10790[#10790], https://github.com/elastic/integrations/pull/11158[#11158]). +* Enables alerts collected by the Falco integration to appear on the Alerts page (https://github.com/elastic/integrations/pull/9619[#9619], https://github.com/elastic/integrations/pull/11051[#11051]). +* Adds ability to manually run rules for a specified time period, either for testing purposes or to generate alerts for past events. +* Adds historical results to the Data Quality dashboard and updates its UI ({kibana-pull}191898[#191898], {kibana-pull}196127[#196127]). +* Adds the ability to attach notes to alerts and events and introduces the Notes page, which allows you to manage all existing notes ({kibana-pull}186787[#186787], {kibana-pull}186807[#186807], {kibana-pull}186931[#186931], {kibana-pull}186946[#186946], {kibana-pull}187214[#187214], {kibana-pull}193373[#193373]). +* Enables detection rules to automatically execute system actions, such as opening a case ({kibana-pull}183937[#183937]). +* Adds role-based access control (RBAC) for Elastic AI Assistant's knowledge base ({kibana-pull}195733[#195733]). +* Adds RBAC for Attack Discovery ({kibana-pull}188788[#188788]). +* Removes the `securitySolution:enableAssetCriticality` advanced setting and enables <> workflows by default ({kibana-pull}196270[#196270]). +* Introduces the entity store as a technical preview feature, which allows observed, imported, integrated, or uploaded entities to be stored persistently ({kibana-pull}192806[#192806]). +* Adds syntax validation for {esql} queries ({kibana-pull}189780[#189780]). +* Allows you to view {es} queries that run during rule execution. This option is provided for {esql} and EQL rules only ({kibana-pull}191107[#191107]). +* Allows you to create and update a rule even when some data-related validation errors are present in the query field ({kibana-pull}191487[#191487]). +* Introduces a new advanced setting, `securitySolution:enableVisualizationsInFlyout`. When enabled, you can examine alerts and events in the **Visualize** tab, which provides a more detailed view of the event analyzer and Session View ({kibana-pull}194012[#194012], {kibana-pull}192531[#192531], {kibana-pull}192643[#192643]). +* Creates a new advanced setting `securitySolution:excludedDataTiersForRuleExecution` that allows you to exclude cold and frozen data from rule executions ({kibana-pull}186908[#186908]). ++ +IMPORTANT: Even when the `excludedDataTiersForRuleExecution` advanced setting is enabled, indicator match, event correlation, and {esql} rules may still fail if a frozen or cold shard that matches the rule's specified index pattern is unavailable during rule executions. If failures occur, we recommend modifying the rule's index patterns to only match indices containing hot tier data. +* Enhances the Insights section of the alert and event details flyouts by providing available misconfiguration and vulnerabilities findings ({kibana-pull}195509[#195509]). +* Turns off the host field size reduction setting on {elastic-defend}'s integration policy by default. To turn it on, configure the `[os].advanced.set_extended_host_information` <>. +* Allows you to reduce CPU usage, I/O, and event sizes by turning on process event aggregation when configuring your {elastic-defend} integration policy. Related process events that occur in rapid succession are combined into fewer aggregate events. To turn on process event aggregation, configure the `advanced.events.aggregate_process` <>. +* Allows you to reduce CPU usage, I/O, and event sizes by turning off MD5, SHA-1, and SHA-256 hashes in events when configuring your {elastic-defend} integration policy. Example fields include `process.hash.md5` and `file.hash.sha1`. +* Allows you to configure your {elastic-defend} integration policy to collect SHA-256 file hashes in file events. Before doing so, consider the following caveats: +** This can greatly increase {elastic-defend}'s CPU and I/O utilization and impact system responsiveness. +** This can significantly delay event enrichment and lead to Behavioral Protection rules firing too late to effectively stop malicious behavior. +** This can cause event processing queues to overflow and lead to dropped events. +** Many file events won't contain hashes. Hash collection is the best effort and is not guaranteed to be present in every event. Hashes are collected asynchronously and shortly after the file activity. Hashes might be missing if the file was rapidly renamed, moved, deleted, or (on Windows) opened by another process without https://learn.microsoft.com/en-us/windows/win32/fileio/creating-and-opening-files[read sharing]. +* Improves {elastic-defend} by enabling the use of dynamic {filebeat-ref}/kafka-output.html#topic-option-kafka[topics] for the Kafka output. +* Improves {elastic-defend} by integrating a new Event Tracing for Windows (ETW) provider (Microsoft-Windows-WMI-Activity) to create new event types that can be used by prebuilt endpoint rules to detect malicious WMI activity. + +[discrete] +[[enhancements-8.16.0]] +==== Enhancements +* Removes Elastic AI Assistant's default system prompts. The instructions previously contained in those prompts are now automatically included without user interaction, so Elastic AI Assistant will remain focused on relevant topics. Custom system prompts are still available ({kibana-pull}191847[#191847]). +* Improves Elastic AI Assistant's ability to generate {esql} queries ({kibana-pull}195480[#195480], {kibana-pull}188492[#188492]). +* Adds a button that lets you quickly add queries generated by Elastic AI Assistant to a rule's definition ({kibana-pull}190963[#190963]). +* Adds an **Other** option to the OpenAI connector's **Select an OpenAI provider** dropdown menu. Select this option when <> ({kibana-pull}194831[#194831]). +* Adds a {kib} advanced setting `securitySolution:maxUnassociatedNotes`, which allows you to set the maximum number of notes that can be attached to alerts and events ({kibana-pull}194947[#194947]). +* Adds an **Install and enable** button to the **Add Elastic Rules** page, which allows for rules to be immediately enabled after they're installed ({kibana-pull}191529[#191529]). +* Adds the **Alert Suppression** and **Investigative guide** fields to the rule upgrade workflow ({kibana-pull}195499[#195499]). +* Adds the `IS` operator as an option when configuring a Windows signature blocklist entry ({kibana-pull}190515[#190515]). +* Improves Attack Discovery in the following ways ({kibana-pull}195669[#195669]): +** Attack Discovery can now process up to 500 alerts (previous maximum: 100). This setting can now be adjusted directly from the Attack Discovery page and is stored locally instead of in {es}. +** Attack Discovery now combines related discoveries that would previously have appeared separately. +** Attack Discovery now detects and displays an error instead of hallucinated output. +* Updates the Get Started tour for {elastic-sec} ({kibana-pull}192247[#192247]). +* Improves loading performance for various pages in {kib} ({kibana-pull}194241[#194241]). +* Adds User and Global Artifacts to the {fleet} Policy Response flyout and to the Endpoint details flyout ({kibana-pull}184125[#184125]). +* Allows you to recalculate entity risk scores immediately after you upload asset criticality data ({kibana-pull}187577[#187577]). +* Allows you to enable entity risk scoring in multiple {kib} spaces ({kibana-pull}192671[#192671]). +* Creates a new API endpoint for cleaning up entity risk scoring data: `DELETE /api/risk_score/engine/dangerously_delete_data` ({kibana-pull}191843[#191843], {kibana-pull}189872[#189872]). +* Allows Automatic Import to analyze a larger number of sample events when generating a new integration ({kibana-pull}196233[#196233]). +* Allows Automatic Import to recognize CSV logs and create integrations for CSV data ({kibana-pull}196228[#196228], {kibana-pull}194386[#194386]). +* Allows you to open the rule details flyout from the Alerts table ({kibana-pull}191764[#191764]). +* Allows you to resize the alert and event details flyouts and choose how it's displayed in relation to the Alerts table (over or next to it) ({kibana-pull}192906[#192906], {kibana-pull}182615[#182615]). +* Improves network previews in the alert details flyout ({kibana-pull}190560[#190560]). +* Adds support in all detection rule types for {elastic-defend}'s automated response actions ({kibana-pull}193390[#193390], {kibana-pull}191874[#191874]). +* Enhances {elastic-defend} by improving the `call_stack_final_user_module` attribution where potential `proxy_call` modules are encountered during Windows call stack analysis. +* Adds new fields to {elastic-defend} API events to improve context for the triage of Behavior Alerts. The new `call_stack_final_user_module` fields are `allocation_private_bytes`, `protection`, `protection_provenance_path`, and `reason`. +* Adds a new {elastic-defend} API event for https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-deviceiocontrol[`DeviceIoControl`] calls to support the detection of driver abuse. This feature is only supported on Windows 11 Desktop versions. +* Ensures security artifacts are updated when the {elastic-defend} service starts. +* Improves error messages that are returned when {elastic-defend} receives invalid or unsupported cryptographic keys from the {elastic-defend} policy. +* Ensures that {elastic-defend} tells {fleet} that it's `orphaned` if the connection between {elastic-defend} and {agent} stops for an extended period of time. {fleet} uses this information to provide you with additional troubleshooting context. +* Adds SOCKS5 proxy support to {elastic-defend}'s {ls} output. +* Ensures that on Windows, {elastic-defend} uses https://www.elastic.co/security-labs/finding-truth-in-the-shadows[Intel CET and AMD Shadow Stacks] to collect call stacks, where supported. This improves performance and enables the detection of certain defense evasions. You can turn this feature off in {elastic-defend} <> ({kibana-pull}190553[#190553]). +* Restores {elastic-defend}'s support for Windows Server 2012, which was removed in 8.13.0. +* Improves {elastic-defend}'s caching to reduce memory usage on Windows. +* Enhances {elastic-defend} by reducing the size of process events, which reduces excessive process ancestry entries and shortens the entity ID. +* Improves the reliability and system resource usage of {elastic-defend}'s Windows network driver. + +[discrete] +[[bug-fixes-8.16.0]] +==== Bug fixes + +* Prevents an empty warning message from appearing for rule executions ({kibana-pull}186096[#186096]). +* Fixes an error that could occur during rule execution when the source index had a non-ECS-compliant text field ({kibana-pull}187673[#187673]). +* Fixes an issue that could cause fields for all indices to appear when you tried to add a rule filter ({kibana-pull}194678[#194678]). +* Removes unnecessary empty space below the title of the Open Timeline modal ({kibana-pull}188837[#188837]). +* Improves the performance of the Alerts table ({kibana-pull}192827[#192827]). +* Removes the requirement that you have unnecessary {kib} {fleet} privileges to access some cloud security posture findings ({kibana-pull}194069[#194069]). +* Fixes an {elastic-defend} bug where network event deduplication logic could incorrectly drop Linux network events. +* Fixes an {elastic-defend} bug where Windows API events might be dropped if they contain Unicode characters that can't be converted to ANSI. +* Ensures that {elastic-defend} does not emit an empty `memory_region` if it can't enrich a memory region in an API event. With this fix, {elastic-defend} removes these fields. +* Fixes a bug where {elastic-defend} could fail to properly enrich Windows API events for short-lived processes on older operating systems that don't natively include this telemetry, such as Windows Server 2019. This might result in dropped or unattributed API events. +* Fixes a bug that prevented host name uniformity with {beats} products. If you request {elastic-defend} to use the fully qualified domain name (FQDN) in the `host.name` field, {elastic-defend} now reports the FQDN exactly as the OS reports it, instead of lowercasing by default. +* Fixes an {elastic-defend} bug in behavior protection alerts, where prevention alerts could mistakenly be labeled as detection alerts. +* Fixes a bug that caused {elastic-defend} to crash if a Kafka connection is busy. +* Fixes a race condition that could allow an attacker with administrative rights to disable {elastic-defend} on Windows. We would like to acknowledge Sean Moore (@Fr0g) at https://strafecybersecurity.com[strafecybersecurity.com] for their assistance. +* Fixes scenarios where Automatic Import could generate invalid processors containing array access ({kibana-pull}196207[#196207]). +* Improves Timeline's table performance when row renderers are switched on ({kibana-pull}193316[#193316]). +* Fixes misaligned filter control labels on the Alerts page ({kibana-pull}192094[#192094]). \ No newline at end of file diff --git a/docs/release-notes/8.8.asciidoc b/docs/release-notes/8.8.asciidoc index bdae3bad98..e4f3da324d 100644 --- a/docs/release-notes/8.8.asciidoc +++ b/docs/release-notes/8.8.asciidoc @@ -36,7 +36,7 @@ NOTE: These instructions only apply to the Google Chrome browser. Modify the ste . Right-click anywhere on the Alerts page, then select *Inspect* to open Chrome's Developer Tools. . Go to *Application -> Storage*, then expand *Local Storage*. -. Click on the name of your Kibana instance, for example, http://localhost:1234. +. Click on the name of your Kibana instance, for example, :1234. . Search for the `detection-engine-alert-table-securitySolution-rule-details-gridView` key and copy its value. The value you copied is the JSON blob that's used to persist the Alerts table's state, including the table's selected columns. . Paste the JSON blob into a text file and edit it as follows: .. Remove the `id:file.name` string from the `columns` array. @@ -259,7 +259,7 @@ NOTE: These instructions only apply to the Google Chrome browser. Modify the ste . Right-click anywhere on the Alerts page, then select *Inspect* to open Chrome's Developer Tools. . Go to *Application -> Storage*, then expand *Local Storage*. -. Click on the name of your Kibana instance, for example, http://localhost:1234. +. Click on the name of your Kibana instance, for example, :1234. . Search for the `detection-engine-alert-table-securitySolution-rule-details-gridView` key and copy its value. The value you copied is the JSON blob that's used to persist the Alerts table's state, including the table's selected columns. . Paste the JSON blob into a text file and edit it as follows: .. Remove the `id:file.name` string from the `columns` array. @@ -413,7 +413,7 @@ NOTE: These instructions only apply to the Google Chrome browser. Modify the ste . Right-click anywhere on the Alerts page, then select *Inspect* to open Chrome's Developer Tools. . Go to *Application -> Storage*, then expand *Local Storage*. -. Click on the name of your Kibana instance, for example, http://localhost:1234. +. Click on the name of your Kibana instance, for example, :1234. . Search for the `detection-engine-alert-table-securitySolution-rule-details-gridView` key and copy its value. The value you copied is the JSON blob that's used to persist the Alerts table's state, including the table's selected columns. . Paste the JSON blob into a text file and edit it as follows: .. Remove the `id:file.name` string from the `columns` array. diff --git a/docs/release-notes/8.9.asciidoc b/docs/release-notes/8.9.asciidoc index d92e0c37f5..eb0ad10611 100644 --- a/docs/release-notes/8.9.asciidoc +++ b/docs/release-notes/8.9.asciidoc @@ -48,7 +48,7 @@ NOTE: These instructions only apply to the Google Chrome browser. Modify the ste . Right-click anywhere on the Alerts page, then select *Inspect* to open Chrome's Developer Tools. . Go to *Application -> Storage*, then expand *Local Storage*. -. Click on the name of your Kibana instance, for example, http://localhost:1234. +. Click on the name of your Kibana instance, for example, :1234. . Search for the `detection-engine-alert-table-securitySolution-rule-details-gridView` key and copy its value. The value you copied is the JSON blob that's used to persist the Alert table's state, including the table's selected columns. . Paste the JSON blob into a text file and edit it as follows: .. Remove the `id:file.name` string from the `columns` array. @@ -115,7 +115,7 @@ NOTE: These instructions only apply to the Google Chrome browser. Modify the ste . Right-click anywhere on the Alerts page, then select *Inspect* to open Chrome's Developer Tools. . Go to *Application -> Storage*, then expand *Local Storage*. -. Click on the name of your Kibana instance, for example, http://localhost:1234. +. Click on the name of your Kibana instance, for example, :1234. . Search for the `detection-engine-alert-table-securitySolution-rule-details-gridView` key and copy its value. The value you copied is the JSON blob that's used to persist the Alert table's state, including the table's selected columns. . Paste the JSON blob into a text file and edit it as follows: .. Remove the `id:file.name` string from the `columns` array. From ea4fa235419eb6706d943828d80a16ebf6268811 Mon Sep 17 00:00:00 2001 From: natasha-moore-elastic Date: Thu, 31 Jul 2025 17:18:01 +0100 Subject: [PATCH 2/2] resolve conflict --- docs/AI-for-security/connect-to-byo.asciidoc | 199 ---- ...ltiple-vault-web-credentials-read.asciidoc | 12 +- docs/release-notes/8.16.asciidoc | 893 ------------------ 3 files changed, 1 insertion(+), 1103 deletions(-) delete mode 100644 docs/AI-for-security/connect-to-byo.asciidoc delete mode 100644 docs/release-notes/8.16.asciidoc diff --git a/docs/AI-for-security/connect-to-byo.asciidoc b/docs/AI-for-security/connect-to-byo.asciidoc deleted file mode 100644 index 36e1cb1603..0000000000 --- a/docs/AI-for-security/connect-to-byo.asciidoc +++ /dev/null @@ -1,199 +0,0 @@ -[[connect-to-byo-llm]] -= Connect to your own local LLM - -:frontmatter-description: Set up a connector to LM Studio so you can use a local model with AI Assistant. -:frontmatter-tags-products: [security] -:frontmatter-tags-content-type: [guide] -:frontmatter-tags-user-goals: [get-started] - -This page provides instructions for setting up a connector to a large language model (LLM) of your choice using LM Studio. This allows you to use your chosen model within {elastic-sec}. You'll first need to set up a reverse proxy to communicate with {elastic-sec}, then set up LM Studio on a server, and finally configure the connector in your Elastic deployment. https://www.elastic.co/blog/ai-assistant-locally-hosted-models[Learn more about the benefits of using a local LLM]. - -This example uses a single server hosted in GCP to run the following components: - -* LM Studio with the https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407[Mistral-Nemo-Instruct-2407] model -* A reverse proxy using Nginx to authenticate to Elastic Cloud - -image::images/lms-studio-arch-diagram.png[Architecture diagram for this guide] - -NOTE: For testing, you can use alternatives to Nginx such as https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/overview[Azure Dev Tunnels] or https://ngrok.com/[Ngrok], but using Nginx makes it easy to collect additional telemetry and monitor its status by using Elastic's native Nginx integration. While this example uses cloud infrastructure, it could also be replicated locally without an internet connection. - -NOTE: For information about the performance of open-source models on tasks within {elastic-sec}, refer to the <>. - -[discrete] -== Configure your reverse proxy - -NOTE: If your Elastic instance is on the same host as LM Studio, you can skip this step. Also, check out our https://www.elastic.co/blog/herding-llama-3-1-with-elastic-and-lm-studio[blog post] that walks through the whole process of setting up a single-host implementation. - -You need to set up a reverse proxy to enable communication between LM Studio and Elastic. For more complete instructions, refer to a guide such as https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-as-a-reverse-proxy-on-ubuntu-22-04[this one]. - -The following is an example Nginx configuration file: - -[source,txt] --------------------------------------------------- -server { - listen 80; - listen [::]:80; - server_name ; - server_tokens off; - add_header x-xss-protection "1; mode=block" always; - add_header x-frame-options "SAMEORIGIN" always; - add_header X-Content-Type-Options "nosniff" always; - return 301 ; -} - -server { - - listen 443 ssl http2; - listen [::]:443 ssl http2; - server_name ; - server_tokens off; - ssl_certificate /etc/letsencrypt/live//fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live//privkey.pem; - ssl_session_timeout 1d; - ssl_session_cache shared:SSL:50m; - ssl_session_tickets on; - ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256'; - ssl_protocols TLSv1.3 TLSv1.2; - ssl_prefer_server_ciphers on; - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always; - add_header x-xss-protection "1; mode=block" always; - add_header x-frame-options "SAMEORIGIN" always; - add_header X-Content-Type-Options "nosniff" always; - add_header Referrer-Policy "strict-origin-when-cross-origin" always; - ssl_stapling on; - ssl_stapling_verify on; - ssl_trusted_certificate /etc/letsencrypt/live//fullchain.pem; - resolver 1.1.1.1; - location / { - - if ($http_authorization != "Bearer ") { - return 401; -} - - proxy_pass :1234/; - } - -} --------------------------------------------------- - -[IMPORTANT] -==== -If using the example configuration file above, you must replace several values: - -* Replace `` with your actual token, and keep it safe since you'll need it to set up the {elastic-sec} connector. -* Replace `` with your actual domain name. -* Update the `proxy_pass` value at the bottom of the configuration if you decide to change the port number in LM Studio to something other than 1234. -==== - -[discrete] -=== (Optional) Set up performance monitoring for your reverse proxy -You can use Elastic's {integrations-docs}/nginx[Nginx integration] to monitor performance and populate monitoring dashboards in the {security-app}. - -[discrete] -== Configure LM Studio and download a model - -First, install https://lmstudio.ai/[LM Studio]. LM Studio supports the OpenAI SDK, which makes it compatible with Elastic's OpenAI connector, allowing you to connect to any model available in the LM Studio marketplace. - -You must launch the application using its GUI before doing so using the CLI. For example, use Chrome RDP with an https://cloud.google.com/architecture/chrome-desktop-remote-on-compute-engine[X Window System]. After you've opened the application the first time using the GUI, you can start it by using `sudo lms server start` in the CLI. - -Once you've launched LM Studio: - -1. Go to LM Studio's Search window. -2. Search for an LLM (for example, `Mistral-Nemo-Instruct-2407`). Your chosen model must include `instruct` in its name in order to work with Elastic. -3. After you find a model, view download options and select a recommended version (green). For best performance, select one with the thumbs-up icon that indicates good performance on your hardware. -4. Download one or more models. - -IMPORTANT: For security reasons, before downloading a model, verify that it is from a trusted source. It can be helpful to review community feedback on the model (for example using a site like Hugging Face). - -image::images/lms-model-select.png[The LM Studio model selection interface] - -In this example we used https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407[`mistralai/Mistral-Nemo-Instruct-2407`]. It has 12B total parameters, a 128,000 token context window, and uses GGUF https://huggingface.co/docs/transformers/main/en/quantization/overview[quanitization]. For more information about model names and format information, refer to the following table. - -[cols="1,1,1,1", options="header"] -|=== -| Model Name | Parameter Size | Tokens/Context Window | Quantization Format -| Name of model, sometimes with a version number. -| LLMs are often compared by their number of parameters — higher numbers mean more powerful models. -| Tokens are small chunks of input information. Tokens do not necessarily correspond to characters. You can use https://platform.openai.com/tokenizer[Tokenizer] to see how many tokens a given prompt might contain. -| Quantization reduces overall parameters and helps the model to run faster, but reduces accuracy. -| Examples: Llama, Mistral, Phi-3, Falcon. -| The number of parameters is a measure of the size and the complexity of the model. The more parameters a model has, the more data it can process, learn from, generate, and predict. -| The context window defines how much information the model can process at once. If the number of input tokens exceeds this limit, input gets truncated. -| Specific formats for quantization vary, most models now support GPU rather than CPU offloading. -|=== - -[discrete] -== Load a model in LM Studio - -After downloading a model, load it in LM Studio using the GUI or LM Studio's https://lmstudio.ai/blog/lms[CLI tool]. - -[discrete] -=== Option 1: load a model using the CLI (Recommended) - -It is a best practice to download models from the marketplace using the GUI, and then load or unload them using the CLI. The GUI allows you to search for models, whereas the CLI allows you to use `lms get` to search for models. The CLI provides a good interface for loading and unloading. - -Once you've downloaded a model, use the following commands in your CLI: - -1. Verify LM Studio is installed: `lms` -2. Check LM Studio's status: `lms status` -3. List all downloaded models: `lms ls` -4. Load a model: `lms load`. - -image::images/lms-cli-welcome.png[The CLI interface during execution of initial LM Studio commands] - -After the model loads, you should see a `Model loaded successfully` message in the CLI. Select a model using the arrow and *Enter* keys. - -image::images/lms-studio-model-loaded-msg.png[The CLI message that appears after a model loads] - -To verify which model is loaded, use the `lms ps` command. - -image::images/lms-ps-command.png[The CLI message that appears after running lms ps] - -If your model uses NVIDIA drivers, you can check the GPU performance with the `sudo nvidia-smi` command. - -[discrete] -=== Option 2: load a model using the GUI - -Refer to the following video to see how to load a model using LM Studio's GUI. You can change the **port** setting, which is referenced in the Nginx configuration file. Note that the **GPU offload** was set to **Max**. - -======= -++++ - - -
-++++ -======= - -[discrete] -== (Optional) Collect logs using Elastic's Custom Logs integration - -You can monitor the performance of the host running LM Studio using Elastic's {integrations-docs}/log[Custom Logs integration]. This can also help with troubleshooting. Note that the default path for LM Studio logs is `/tmp/lmstudio-server-log.txt`, as in the following screenshot: - -image::images/lms-custom-logs-config.png[The configuration window for the custom logs integration] - -[discrete] -== Configure the connector in your Elastic deployment - -Finally, configure the connector: - -1. Log in to your Elastic deployment. -2. Find the **Connectors** page in the navigation menu or use the {kibana-ref}/introduction.html#kibana-navigation-search[global search field]. Then click **Create Connector**, and select **OpenAI**. The OpenAI connector enables this use case because LM Studio uses the OpenAI SDK. -3. Name your connector to help keep track of the model version you are using. -4. Under **Select an OpenAI provider**, select **Other (OpenAI Compatible Service)**. -5. Under **URL**, enter the domain name specified in your Nginx configuration file, followed by `/v1/chat/completions`. -6. Under **Default model**, enter `local-model`. -7. Under **API key**, enter the secret token specified in your Nginx configuration file. -8. Click **Save**. - -image::images/lms-edit-connector.png[The Edit connector page in the {security-app}, with appropriate values populated] - -Setup is now complete. You can use the model you've loaded in LM Studio to power Elastic's generative AI features. You can test a variety of models as you interact with AI Assistant to see what works best without having to update your connector. - -NOTE: While local models work well for <>, we recommend you use one of <> for interacting with <>. As local models become more performant over time, this is likely to change. diff --git a/docs/detections/prebuilt-rules/rule-details/multiple-vault-web-credentials-read.asciidoc b/docs/detections/prebuilt-rules/rule-details/multiple-vault-web-credentials-read.asciidoc index a49d14bed4..d07bedf79e 100644 --- a/docs/detections/prebuilt-rules/rule-details/multiple-vault-web-credentials-read.asciidoc +++ b/docs/detections/prebuilt-rules/rule-details/multiple-vault-web-credentials-read.asciidoc @@ -67,23 +67,13 @@ sequence by winlog.computer_name, winlog.process.pid with maxspan=1s [any where event.code : "5382" and (winlog.event_data.SchemaFriendlyName : "Windows Web Password Credential" and winlog.event_data.Resource : "http*") and -<<<<<<< HEAD not winlog.event_data.SubjectLogonId : "0x3e7" and - not winlog.event_data.Resource : "http://localhost/"] - - [any where event.code : "5382" and - (winlog.event_data.SchemaFriendlyName : "Windows Web Password Credential" and winlog.event_data.Resource : "http*") and - not winlog.event_data.SubjectLogonId : "0x3e7" and - not winlog.event_data.Resource : "http://localhost/"] -======= - not winlog.event_data.SubjectLogonId : "0x3e7" and not winlog.event_data.Resource : ""] [any where event.code : "5382" and (winlog.event_data.SchemaFriendlyName : "Windows Web Password Credential" and winlog.event_data.Resource : "http*") and - not winlog.event_data.SubjectLogonId : "0x3e7" and + not winlog.event_data.SubjectLogonId : "0x3e7" and not winlog.event_data.Resource : ""] ->>>>>>> 16334698 (Replace placeholder URLs (#6990)) ---------------------------------- diff --git a/docs/release-notes/8.16.asciidoc b/docs/release-notes/8.16.asciidoc deleted file mode 100644 index 56582ce18c..0000000000 --- a/docs/release-notes/8.16.asciidoc +++ /dev/null @@ -1,893 +0,0 @@ -[[release-notes-header-8.16.0]] -== 8.16 - -[discrete] -[[release-notes-8.16.6]] -=== 8.16.6 - -[discrete] -[[known-issue-8.16.6]] -==== Known issues - -// tag::known-issue[] -[discrete] -.Duplicate alerts can be produced from manually running threshold rules -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running threshold rules could produce duplicate alerts if the date range was already covered by a scheduled rule execution. -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Manually running custom query rules with suppression could suppress more alerts than expected -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Installing an {elastic-defend} integration or a new agent policy upgrades installed prebuilt rules, overwriting user-added actions and exceptions -[%collapsible] -==== -*Details* + -When you install an {elastic-defend} integration or a new agent policy for this integration, all the installed prebuilt detection rules are upgraded to their latest versions (if any new versions are available). The upgraded rules lose any user-added rule actions and exceptions. - -*Workaround* + -To resolve this issue, before you add an {elastic-defend} integration to a policy in {fleet}, apply any pending prebuilt rule updates. This will prevent rule actions and exceptions from being overwritten. - -*Resolved* + -This issue is fixed in {stack} versions 8.17.6, 8.18.1, and 9.0.1. - -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck -[%collapsible] -==== -*Details* + - -An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems -[%collapsible] -==== -*Details* + - -An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: - -* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. -* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. - - -NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - - -==== -// end::known-issue[] - -[discrete] -[[bug-fixes-8.16.6]] -==== Bug fixes -* Fixes a bug that prevented you from changing column widths in Timeline ({kibana-pull}214178[#214178]). -* Fixes a bug that prevented you from being able to save event filters ({kibana-pull}213805[#213805]). -* Allows Automatic Import to handle a variety of structures when parsing system logs ({kibana-pull}212611[#212611]). -* Fixes a bug that prevented the selected data view and **Show only detection alerts** option from being reliably persisted in Timeline ({kibana-pull}211343[#211343]). -* Fixes a rare upgrade failure when {elastic-defend} has tamper protection enabled. -* Fixes a bug in the scan response action that can crash {elastic-defend}. -* Fixes a potential {elastic-defend} crash when generating multiple ransomware alerts on Windows. This issue was simultaneously mitigated by a cloud artifact update (manifest version 1.0.1381) on February 24, 2025. Internet-connected instances of {elastic-defend} will automatically receive this update -- no user intervention required. Air-gapped customers hosting their own artifacts should follow <>. We would like to acknowledge https://www.todyl.com[Todyl] for their assistance with this issue. -* Fixes a bug in {elastic-defend} for Linux where tty capture limit defaults were ignored. - -[discrete] -[[release-notes-8.16.5]] -=== 8.16.5 - -[discrete] -[[known-issue-8.16.5]] -==== Known issues - -// tag::known-issue[] -[discrete] -.Duplicate alerts can be produced from manually running threshold rules -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running threshold rules could produce duplicate alerts if the date range was already covered by a scheduled rule execution. -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Manually running custom query rules with suppression could suppress more alerts than expected -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck -[%collapsible] -==== -*Details* + - -An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems -[%collapsible] -==== -*Details* + - -An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: - -* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. -* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. - - -NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - - -==== -// end::known-issue[] - -[discrete] -[[bug-fixes-8.16.5]] -==== Bug fixes -* Fixes an issue with the Event Rendered View in the Alerts table where the table would sometimes have a height of zero and become unusable ({kibana-pull}212130[#212130]). -* Updated the `allocate_shellcode` {elastic-defend} API event behavior to explicitly only apply to unbacked memory. - -[discrete] -[[release-notes-8.16.4]] -=== 8.16.4 - -[discrete] -[[known-issue-8.16.4]] -==== Known issues - -// tag::known-issue[] -[discrete] -.Duplicate alerts can be produced from manually running threshold rules -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running threshold rules could produce duplicate alerts if the date range was already covered by a scheduled rule execution. -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Manually running custom query rules with suppression could suppress more alerts than expected -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck -[%collapsible] -==== -*Details* + - -An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems -[%collapsible] -==== -*Details* + - -An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: - -* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. -* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. - - -NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - - -==== -// end::known-issue[] - -[discrete] -[[features-8.16.4]] -==== New features -* Adds the `advanced.malware.max_file_size_bytes` <>, which allows you to control the maximum file size for malware protection. - -[discrete] -[[enhancements-8.16.4]] -==== Enhancements -* Enhances the performance of {elastic-defend} network events monitoring for better CPU utilization and responsiveness. -* Adds byte counts to Linux {elastic-defend} network disconnect events. - -[discrete] -[[bug-fixes-8.16.4]] -==== Bug fixes -* Ensures that multiple IPs are displayed as individual links in the Alerts table, even if they're passed as a single string ({kibana-pull}209475[#209475]). -* Fixes an AI Assistant bug that prevented you from selecting different connector types after initially choosing one ({kibana-pull}208969[#208969]). -* Adds missing fields to Automatic Import's input manifest templates ({kibana-pull}208768[#208768]). -* Ensures that Automatic Import's structured log template surrounds single backslashes with single quotes when the backslash is used as an escape character ({kibana-pull}209736[#209736]). -* Adds fields that are missing from Automatic Import's `aws-s3-manifest.yml` file ({kibana-pull}208080[#208080]). -* Allows {elastic-defend} to detect or prevent malware process or image loads from WebDAV servers. -* Allows {elastic-defend} to bypass network traffic from other computers when promiscuous mode is enabled on Windows. -* Fixes a bug with the `get-file` Endpoint response action. When you used the `get-file` response action to retrieve a Windows Alternate Data Stream, the resulting `.zip` archive would contain a checksum error that made it unusable by most zip tools. -* Increases the maximum number of ETW buffers that {elastic-defend} can use. -* Fixes a bug in {elastic-defend} where a combination of "descendent of process" event filters and unenriched events would not match other event filters. -* Fixes an issue where {elastic-defend} wasn't correctly populating `event.created` for process events on Windows. -* When aggregating events, {elastic-defend} was using the final event's timestamp for the aggregated event, which was a bug. Now, {elastic-defend} will use the first event's timestamp as originally intended. - -[discrete] -[[release-notes-8.16.3]] -=== 8.16.3 - -[discrete] -[[known-issue-8.16.3]] -==== Known issues - -// tag::known-issue[] -[discrete] -.Duplicate alerts can be produced from manually running threshold rules -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running threshold rules could produce duplicate alerts if the date range was already covered by a scheduled rule execution. -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Manually running custom query rules with suppression could suppress more alerts than expected -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck -[%collapsible] -==== -*Details* + - -An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems -[%collapsible] -==== -*Details* + - -An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: - -* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. -* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. - - -NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - - -==== -// end::known-issue[] - -[discrete] -[[bug-fixes-8.16.3]] -==== Bug fixes - -* Fixes Integration and Datastream name validation ({kibana-pull}204943[#204943]). -* Improves how the rule query field handles whitespace for long pre-formatted texts. This fix only applies to Firefox, not Chrome or Safari ({kibana-pull}203993[#203993]). -* Adds role-based access control to the Automatic Import APIs ({kibana-pull}203882[#203882]). -* Changes the validation for API responses from SentinelOne and Crowdstrike. This fix allows for non-JSON responses, such as stream, to be returned ({kibana-pull}203820[#203820]). -* Fixes a bug that caused a warning to display when you modified the index patterns of a rule that had a filter using `AND` or `OR` conditions ({kibana-pull}201776[#201776]). -* Fixes a bug that caused the diff view to incorrectly mark certain characters as changed in specific cases ({kibana-pull}205138[#205138]). -* Lists all policies to ensure that integrations are properly displayed ({kibana-pull}205103[#205103]). -* Fixes incompatibility issues with {elastic-defend}. In 8.16.2 and 8.17.0, a portion of the Windows kernel driver was refactored to work around an incompatibility with CrowdStrike Falcon which could result in a `CRITICAL_PROCESS_DIED` bugcheck. It was discovered that this incompatibility could also be triggered by Memory Protection, so a portion of the kernel driver was refactored to avoid this conflict. -+ -Affected users who are unable to upgrade should set one or both of the following in their {elastic-defend} advanced policy, depending on their version: - -** `windows.advanced.events.process.creation_flags: false` (8.13.0 - 8.16.1) -** `windows.advanced.memory_protection.shellcode_trampoline_detection: false` (8.12.0 - 8.16.2) -* Fixes an {elastic-defend} bug that could cause the Windows API event call stack enrichment to fail for processes that started before {elastic-defend} and if another security product was present and hooking system DLLs. -* Fixes an {elastic-defend} bug that caused Windows API events involving `mswsock.dll` to be mislabeled with the `proxy_call` behavior. - -[discrete] -[[release-notes-8.16.2]] -=== 8.16.2 - -[discrete] -[[known-issue-8.16.2]] -==== Known issues - -// tag::known-issue[] -[discrete] -.Duplicate alerts can be produced from manually running threshold rules -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running threshold rules could produce duplicate alerts if the date range was already covered by a scheduled rule execution. -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Manually running custom query rules with suppression could suppress more alerts than expected -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck -[%collapsible] -==== -*Details* + - -An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems -[%collapsible] -==== -*Details* + - -An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: - -* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. -* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. - - -NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - - -==== -// end::known-issue[] - -[discrete] -[[bug-fixes-8.16.2]] -==== Bug fixes - -* Rejects CEF logs from Automatic Import and redirects you to the CEF integration instead ({kibana-pull}201792[#201792], {kibana-pull}202994[#202994]). -* Fixes an issue that could interfere with Knowledge Base setup ({kibana-pull}201175[#201175]). -* Modifies the empty state message that appears when installing prebuilt rules ({kibana-pull}202226[#202226]). -* Turns off the **Install All** button on the **Add Elastic Rules** page while rules are being installed ({kibana-pull}201731[#201731]). -* Removes fields with an `@` from the script processor ({kibana-pull}201548[#201548]). -* Fixes a bug with threshold rules that prevented cardinality details from appearing ({kibana-pull}201162[#201162]). -* Fixes an exceptions bug that prevented the **Exceptions** tab from properly loading if exceptions contained comments with newline characters (`\n`) ({kibana-pull}202063[#202063]). -* Fixes a bug that caused an entity engine to get stuck in the `Installing` status if the default Security data view didn't exist. With this fix, engines now correctly report the `Error` state ({kibana-pull}201140[#201140]). -* Fixes an issue that prevented you from successfully importing TSV files with asset criticality data if you're on Windows ({kibana-pull}199791[#199791]). -* Improves {elastic-defend} by refactoring the kernel driver to work around a `CRITICAL_PROCESS_DIED` bug check (BSOD) that can occur due to a conflict with CrowdStrike Falcon. -* Fixes an {elastic-defend} bug that caused the **Open Elastic Security** button in the Windows Security Center to be non-functional. Now, you're informed that {elastic-defend} is managed by your system administrator. - -[discrete] -[[release-notes-8.16.1]] -=== 8.16.1 - -[discrete] -[[known-issue-8.16.1]] -==== Known issues - -// tag::known-issue[201820] -[discrete] -.The **Exceptions** tab won't properly load if exceptions contain comments with newline characters (`\n`) -[%collapsible] -==== -*Details* + -On December 5, 2024, it was discovered that the **Exceptions** tab won't load properly if any exceptions contain comments with newline characters (`\n`). This issue occurs when you upgrade to 8.16.0 or later ({kibana-issue}201820[#201820]). - -*Workaround* + -Upgrade to 8.16.2, or follow the workarounds below. - -For custom rules: - -. From the **Rules** page, <> the rule or rules with the affected exception lists. -. Modify the `.ndjson` file so `comments` no longer contain newline characters. -. Return to the **Rules** page and <> the rules. Make sure to select the **Overwrite existing exception lists with conflicting "list_id"** option. - -For prebuilt rules: - -NOTE: If you only need to fix exceptions for the Elastic Endpoint rule, you can export and re-import its exception list from the <> page. - -. Follow these steps to fetch the affected exception list ID or IDs that are associated with the rule: -.. Find the affected rule's ID (`id`). From the **Rules** page, open the details of a rule, go to the page URL, and copy the string at the end. For example, in the URL http://host.name/app/security/rules/id/167a5f6f-2148-4792-8226-b5e7a58ef46e, the string at the end (`167a5f6f-2148-4792-8226-b5e7a58ef46e`) is the `id`. -.. Specify the `id` when fetching the rule's details using the {api-kibana}/operation/operation-readrule[Retrieve a detection rule API]. Here is an example request that includes the `id`: -+ -[source,console] ----- -curl -H 'Authorization: ApiKey API_KEY_HERE' -H 'kbn-xsrf: true' -H 'elastic-api-version: 2023-10-31' '${KIBANA_URL}/api/detection_engine/rules?id=167a5f6f-2148-4792-8226-b5e7a58ef46e ----- -+ -.. The JSON response contains the `id`, `list_id`, and `namespace_type` values within the `exceptions_list` key (as shown below). You need these values when using the Exception list API to retrieve the affected exception list. -+ -[source,console] ----- -{ - "id": "167a5f6f-2148-4792-8226-b5e7a58ef46e", - "exceptions_list": [ - { - "id": "490525a2-eb66-4320-95b5-88bdd1302dc4", - "list_id": "f75aae6f-0229-413f-881d-81cb3abfbe2d", - "namespace_type": "single" - } - ] -} ----- -+ -. Use the export exceptions API to retrieve the affected exception list. Insert the values for the `id`, `list_id`, and `namespace_type` parameters into the following API call: -+ -[source,console] ----- -curl -XPOST -H 'Authorization: ApiKey API_KEY_HERE' -H 'kbn-xsrf: true' -H 'elastic-api-version: 2023-10-31' '${KIBANA_URL}/api/exception_lists/_export?list_id=f75aae6f-0229-413f-881d-81cb3abfbe2d&id=490525a2-eb66-4320-95b5-88bdd1302dc4&namespace_type=single' -o list.ndjson ----- -+ -. Modify the exception list's `.ndjson` file to ensure `comments[].comment` values don't contain newline characters (`\n`). -. Re-import the modified exception list using **Import exception lists** option on the <> page. The import will initially fail because the exception list already exists, and an option to overwrite the existing list will appear. Select the option, then resubmit the request to import the corrected exception list. - -*Resolved* + -On December 17, 2024, this issue was resolved. - -==== -// end::known-issue[201820] - -// tag::known-issue[] -[discrete] -.Manually running threshold rules may generate duplicate alerts -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running threshold rules could generate duplicate alerts if the date range was already covered in a scheduled rule execution. - -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Manually running custom query rules with suppression could suppress more alerts than expected -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. - -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck -[%collapsible] -==== -*Details* + - -An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems -[%collapsible] -==== -*Details* + - -An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: - -* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. -* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. - - -NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - - -==== -// end::known-issue[] - -[discrete] -[[bug-fixes-8.16.1]] -==== Bug fixes -* Fixes a bug that caused the **Alerts** page to crash if you upgraded to 8.16 and accessed the page in a non-default {kib} space ({kibana-pull}200058[#200058]). -* Fixes a bug that caused the Elastic AI Assistant Knowledge Base to fail if the current user had a colon (`:`) in their username and attempted to access Knowledge Base entries ({kibana-pull}200131[#200131]). -* Fixes a bug that made values unavailable for the Knowledge Base **Index** field, which lets you specify an index as a knowledge source ({kibana-pull}199990[#199990]). -* Fixes a bug in Automatic Import where icons were not shown after the integration was installed ({kibana-pull}201139[#201139]). -* Fixes a bug that unset the `required_fields` field if you updated a rule by sending a `PATCH` request that didn't contain the `required_fields` field ({kibana-pull}199901[#199901]). -* Fixes the entity store initialization error that was caused by risk engine failures. Now, when you upgrade to 8.16.1, or follow the standard flow for initializing the entity store, the risk engine no longer fails while deleting the component template. In addition, the index template will correctly reference the new component template, ensuring the successful initialization of the entity store ({kibana-pull}199734[#199734]). -* Improves the warning message that displays when asset criticality assignments are duplicated during the bulk assignment flow ({kibana-pull}199651[#199651]). -* Fixes a time skew bug that occurred when Linux virtual machines using eBPF event probes were suspended and then resumed. - -[discrete] -[[release-notes-8.16.0]] -=== 8.16.0 - -[discrete] -[[known-issue-8.16.0]] -==== Known issues - -// tag::known-issue[201820] -[discrete] -.The **Exceptions** tab won't properly load if exceptions contain comments with newline characters (`\n`) -[%collapsible] -==== -*Details* + -On December 5, 2024, it was discovered that the **Exceptions** tab won't load properly if any exceptions contain comments with newline characters (`\n`). This issue occurs when you upgrade to 8.16.0 or later ({kibana-issue}201820[#201820]). - -*Workaround* + -Upgrade to 8.16.2, or follow the workarounds below. - -For custom rules: - -. From the **Rules** page, <> the rule or rules with the affected exception lists. -. Modify the `.ndjson` file so `comments` no longer contain newline characters. -. Return to the **Rules** page and <> the rules. Make sure to select the **Overwrite existing exception lists with conflicting "list_id"** option. - -For prebuilt rules: - -NOTE: If you only need to fix exceptions for the Elastic Endpoint rule, you can export and re-import its exception list from the <> page. - -. Follow these steps to fetch the affected exception list ID or IDs that are associated with the rule: -.. Find the affected rule's ID (`id`). From the **Rules** page, open the details of a rule, go to the page URL, and copy the string at the end. For example, in the URL http://host.name/app/security/rules/id/167a5f6f-2148-4792-8226-b5e7a58ef46e, the string at the end (`167a5f6f-2148-4792-8226-b5e7a58ef46e`) is the `id`. -.. Specify the `id` when fetching the rule's details using the {api-kibana}/operation/operation-readrule[Retrieve a detection rule API]. Here is an example request that includes the `id`: -+ -[source,console] ----- -curl -H 'Authorization: ApiKey API_KEY_HERE' -H 'kbn-xsrf: true' -H 'elastic-api-version: 2023-10-31' '${KIBANA_URL}/api/detection_engine/rules?id=167a5f6f-2148-4792-8226-b5e7a58ef46e ----- -+ -.. The JSON response contains the `id`, `list_id`, and `namespace_type` values within the `exceptions_list` key (as shown below). You need these values when using the Exception list API to retrieve the affected exception list. -+ -[source,console] ----- -{ - "id": "167a5f6f-2148-4792-8226-b5e7a58ef46e", - "exceptions_list": [ - { - "id": "490525a2-eb66-4320-95b5-88bdd1302dc4", - "list_id": "f75aae6f-0229-413f-881d-81cb3abfbe2d", - "namespace_type": "single" - } - ] -} ----- -+ -. Use the export exceptions API to retrieve the affected exception list. Insert the values for the `id`, `list_id`, and `namespace_type` parameters into the following API call: -+ -[source,console] ----- -curl -XPOST -H 'Authorization: ApiKey API_KEY_HERE' -H 'kbn-xsrf: true' -H 'elastic-api-version: 2023-10-31' '${KIBANA_URL}/api/exception_lists/_export?list_id=f75aae6f-0229-413f-881d-81cb3abfbe2d&id=490525a2-eb66-4320-95b5-88bdd1302dc4&namespace_type=single' -o list.ndjson ----- -+ -. Modify the exception list's `.ndjson` file to ensure `comments[].comment` values don't contain newline characters (`\n`). -. Re-import the modified exception list using **Import exception lists** option on the <> page. The import will initially fail because the exception list already exists, and an option to overwrite the existing list will appear. Select the option, then resubmit the request to import the corrected exception list. - -*Resolved* + -On December 17, 2024, this issue was resolved. - -==== -// end::known-issue[201820] - -// tag::known-issue[] -[discrete] -.Attempting to edit an Elastic AI Assistant Knowledge Base index results in an error -[%collapsible] -==== -*Details* + -Updating a Knowledge Base entry of type "index" results in an error. - -*Workaround* + -Instead of updating an "index" entry, delete it and add it again with the desired changes. - -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Manually running threshold rules may generate duplicate alerts -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running threshold rules could generate duplicate alerts if the date range was already covered in a scheduled rule execution. - -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Manually running custom query rules with suppression could suppress more alerts than expected -[%collapsible] -==== -*Details* + -On November 12, 2024, it was discovered that manually running a custom query rule with suppression could incorrectly inflate the number of suppressed alerts. - -==== -// end::known-issue[] - -// tag::known-issue-53[] -[discrete] -.Alerts page crashes if you upgrade to 8.16 and access it in a non-default {kib} space -[%collapsible] -==== -*Details* + -On November 14, 2024, it was discovered that the **Alerts** page would crash and display an `Unable to load` error if you upgraded to 8.16 and accessed the page in a non-default {kib} space. - -*Workaround* + -Manually edit your browser's local storage and refresh the **Alerts** page: - -NOTE: These instructions only apply to the Google Chrome browser. Modify the steps based on the browser you're using. - -. Right-click anywhere on the **Alerts** page, then select *Inspect* to open Chrome's Developer Tools. -. Go to *Application -> Storage*, then expand *Local Storage*. -. Click on the name of your Kibana instance, for example, :1234. -. Search for the `siem..pageFilters` key, right-click on the value, then click *Delete*. If you have multiple non-default spaces, do this for each space. -. Refresh the **Alerts** page to reload it. - -*Resolved* + -This issue is fixed in {stack} version 8.16.1. - -==== -// end::known-issue-53[] - -// tag::known-issue[] -[discrete] -.Interaction between Elastic Defend and Trellix Access Protection causes IRQL_NOT_LESS_EQUAL bugcheck -[%collapsible] -==== -*Details* + - -An `IRQL_NOT_LESS_EQUAL` https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-checks\--blue-screens-[bugcheck] in the {elastic-defend} driver happens due to an interaction with Trellix Access Protection (`mfehidk.sys`). This issue can occur when `elastic-endpoint-driver.sys` calls https://learn.microsoft.com/en-us/windows/win32/api/fwpmu/nf-fwpmu-fwpmtransactionbegin0[`FwpmTransactionBegin0`] to initialize its network driver. `FwpmTransactionBegin0` performs a synchronous RPC call to the user-mode Base Filtering Engine service. Trellix's driver intercepts this service's operations, causing `FwpmTransactionBegin0` to hang or slow significantly. This delay prevents {elastic-defend} driver from properly initializing in a timely manner. Subsequent system activity can invoke {elastic-defend}'s driver before it has fully initialized, leading to a `IRQL_NOT_LESS_EQUAL` bugcheck. This issue affects {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, either disable Trellix Access Protection or add a https://docs.trellix.com/bundle/endpoint-security-10.6.0-threat-prevention-client-interface-reference-guide-windows/page/GUID-6AC245A1-5E5D-4BAF-93B0-FE7FD33571E6.html[Trellix Access Protection exclusion] for the Base Filtering Engine service (`C:\Windows\System32\svchost.exe`). - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - -==== -// end::known-issue[] - -// tag::known-issue[] -[discrete] -.Unbounded kernel non-paged memory growth issue in Elastic Defend's kernal driver causes slow down on Windows systems -[%collapsible] -==== -*Details* + - -An unbounded kernel non-paged memory growth issue in {elastic-defend}'s kernel driver occurs during extremely high event load situations on Windows. Systems affected by this issue will slow down or become unresponsive until the triggering event load (for example, network activity) subsides. We are only aware of this issue occurring on very busy Windows Server systems running {elastic-defend} versions 8.16.0-8.16.6, 8.17.0-8.17.5, 8.18.0, and 9.0.0. - -*Workaround* + - -If you can't upgrade, turn off the relevant event source at the kernel level using your {elastic-defend} <>: - -* Network Events - Set the `windows.advanced.kernel.network` advanced setting to `false`. -* Registry Events - Set the `windows.advanced.kernel.registry` advanced setting to `false`. - - -NOTE: Clearing the corresponding checkbox under <> is insufficient, as {elastic-defend} may still process these event sources internally to support other features. - -*Resolved* + -This issue is fixed in {elastic-defend} versions 8.17.6, 8.18.1, and 9.0.1. - - -==== -// end::known-issue[] - -[discrete] -[[breaking-changes-8.16.0]] -==== Breaking changes - -* During shutdown, {kib} now waits for all the ongoing requests to complete according to the `server.shutdownTimeout` setting. During that period, the incoming socket is closed and any new incoming requests are rejected. Before this update, new incoming requests received a response with the status code 503 and body `{ "message": "{kib} is shutting down and not accepting new incoming requests" }`. - -[discrete] -[[features-8.16.0]] -==== New features - -* Introduces Knowledge Base for Elastic AI Assistant, which allows you to specify information for AI Assistant to remember when responding to your queries ({kibana-pull}186566[#186566], {kibana-pull}192665[#192665]). -* Enables agentless deployment for Elastic's Cloud Security Posture Management integration and the new Cloud Asset Inventory integration ({kibana-pull}191557[#191557]). -* Enables data collected by the Wiz and AWS Security Hub integrations to appear on the Findings page and in entity details flyouts (https://github.com/elastic/integrations/pull/10790[#10790], https://github.com/elastic/integrations/pull/11158[#11158]). -* Enables alerts collected by the Falco integration to appear on the Alerts page (https://github.com/elastic/integrations/pull/9619[#9619], https://github.com/elastic/integrations/pull/11051[#11051]). -* Adds ability to manually run rules for a specified time period, either for testing purposes or to generate alerts for past events. -* Adds historical results to the Data Quality dashboard and updates its UI ({kibana-pull}191898[#191898], {kibana-pull}196127[#196127]). -* Adds the ability to attach notes to alerts and events and introduces the Notes page, which allows you to manage all existing notes ({kibana-pull}186787[#186787], {kibana-pull}186807[#186807], {kibana-pull}186931[#186931], {kibana-pull}186946[#186946], {kibana-pull}187214[#187214], {kibana-pull}193373[#193373]). -* Enables detection rules to automatically execute system actions, such as opening a case ({kibana-pull}183937[#183937]). -* Adds role-based access control (RBAC) for Elastic AI Assistant's knowledge base ({kibana-pull}195733[#195733]). -* Adds RBAC for Attack Discovery ({kibana-pull}188788[#188788]). -* Removes the `securitySolution:enableAssetCriticality` advanced setting and enables <> workflows by default ({kibana-pull}196270[#196270]). -* Introduces the entity store as a technical preview feature, which allows observed, imported, integrated, or uploaded entities to be stored persistently ({kibana-pull}192806[#192806]). -* Adds syntax validation for {esql} queries ({kibana-pull}189780[#189780]). -* Allows you to view {es} queries that run during rule execution. This option is provided for {esql} and EQL rules only ({kibana-pull}191107[#191107]). -* Allows you to create and update a rule even when some data-related validation errors are present in the query field ({kibana-pull}191487[#191487]). -* Introduces a new advanced setting, `securitySolution:enableVisualizationsInFlyout`. When enabled, you can examine alerts and events in the **Visualize** tab, which provides a more detailed view of the event analyzer and Session View ({kibana-pull}194012[#194012], {kibana-pull}192531[#192531], {kibana-pull}192643[#192643]). -* Creates a new advanced setting `securitySolution:excludedDataTiersForRuleExecution` that allows you to exclude cold and frozen data from rule executions ({kibana-pull}186908[#186908]). -+ -IMPORTANT: Even when the `excludedDataTiersForRuleExecution` advanced setting is enabled, indicator match, event correlation, and {esql} rules may still fail if a frozen or cold shard that matches the rule's specified index pattern is unavailable during rule executions. If failures occur, we recommend modifying the rule's index patterns to only match indices containing hot tier data. -* Enhances the Insights section of the alert and event details flyouts by providing available misconfiguration and vulnerabilities findings ({kibana-pull}195509[#195509]). -* Turns off the host field size reduction setting on {elastic-defend}'s integration policy by default. To turn it on, configure the `[os].advanced.set_extended_host_information` <>. -* Allows you to reduce CPU usage, I/O, and event sizes by turning on process event aggregation when configuring your {elastic-defend} integration policy. Related process events that occur in rapid succession are combined into fewer aggregate events. To turn on process event aggregation, configure the `advanced.events.aggregate_process` <>. -* Allows you to reduce CPU usage, I/O, and event sizes by turning off MD5, SHA-1, and SHA-256 hashes in events when configuring your {elastic-defend} integration policy. Example fields include `process.hash.md5` and `file.hash.sha1`. -* Allows you to configure your {elastic-defend} integration policy to collect SHA-256 file hashes in file events. Before doing so, consider the following caveats: -** This can greatly increase {elastic-defend}'s CPU and I/O utilization and impact system responsiveness. -** This can significantly delay event enrichment and lead to Behavioral Protection rules firing too late to effectively stop malicious behavior. -** This can cause event processing queues to overflow and lead to dropped events. -** Many file events won't contain hashes. Hash collection is the best effort and is not guaranteed to be present in every event. Hashes are collected asynchronously and shortly after the file activity. Hashes might be missing if the file was rapidly renamed, moved, deleted, or (on Windows) opened by another process without https://learn.microsoft.com/en-us/windows/win32/fileio/creating-and-opening-files[read sharing]. -* Improves {elastic-defend} by enabling the use of dynamic {filebeat-ref}/kafka-output.html#topic-option-kafka[topics] for the Kafka output. -* Improves {elastic-defend} by integrating a new Event Tracing for Windows (ETW) provider (Microsoft-Windows-WMI-Activity) to create new event types that can be used by prebuilt endpoint rules to detect malicious WMI activity. - -[discrete] -[[enhancements-8.16.0]] -==== Enhancements -* Removes Elastic AI Assistant's default system prompts. The instructions previously contained in those prompts are now automatically included without user interaction, so Elastic AI Assistant will remain focused on relevant topics. Custom system prompts are still available ({kibana-pull}191847[#191847]). -* Improves Elastic AI Assistant's ability to generate {esql} queries ({kibana-pull}195480[#195480], {kibana-pull}188492[#188492]). -* Adds a button that lets you quickly add queries generated by Elastic AI Assistant to a rule's definition ({kibana-pull}190963[#190963]). -* Adds an **Other** option to the OpenAI connector's **Select an OpenAI provider** dropdown menu. Select this option when <> ({kibana-pull}194831[#194831]). -* Adds a {kib} advanced setting `securitySolution:maxUnassociatedNotes`, which allows you to set the maximum number of notes that can be attached to alerts and events ({kibana-pull}194947[#194947]). -* Adds an **Install and enable** button to the **Add Elastic Rules** page, which allows for rules to be immediately enabled after they're installed ({kibana-pull}191529[#191529]). -* Adds the **Alert Suppression** and **Investigative guide** fields to the rule upgrade workflow ({kibana-pull}195499[#195499]). -* Adds the `IS` operator as an option when configuring a Windows signature blocklist entry ({kibana-pull}190515[#190515]). -* Improves Attack Discovery in the following ways ({kibana-pull}195669[#195669]): -** Attack Discovery can now process up to 500 alerts (previous maximum: 100). This setting can now be adjusted directly from the Attack Discovery page and is stored locally instead of in {es}. -** Attack Discovery now combines related discoveries that would previously have appeared separately. -** Attack Discovery now detects and displays an error instead of hallucinated output. -* Updates the Get Started tour for {elastic-sec} ({kibana-pull}192247[#192247]). -* Improves loading performance for various pages in {kib} ({kibana-pull}194241[#194241]). -* Adds User and Global Artifacts to the {fleet} Policy Response flyout and to the Endpoint details flyout ({kibana-pull}184125[#184125]). -* Allows you to recalculate entity risk scores immediately after you upload asset criticality data ({kibana-pull}187577[#187577]). -* Allows you to enable entity risk scoring in multiple {kib} spaces ({kibana-pull}192671[#192671]). -* Creates a new API endpoint for cleaning up entity risk scoring data: `DELETE /api/risk_score/engine/dangerously_delete_data` ({kibana-pull}191843[#191843], {kibana-pull}189872[#189872]). -* Allows Automatic Import to analyze a larger number of sample events when generating a new integration ({kibana-pull}196233[#196233]). -* Allows Automatic Import to recognize CSV logs and create integrations for CSV data ({kibana-pull}196228[#196228], {kibana-pull}194386[#194386]). -* Allows you to open the rule details flyout from the Alerts table ({kibana-pull}191764[#191764]). -* Allows you to resize the alert and event details flyouts and choose how it's displayed in relation to the Alerts table (over or next to it) ({kibana-pull}192906[#192906], {kibana-pull}182615[#182615]). -* Improves network previews in the alert details flyout ({kibana-pull}190560[#190560]). -* Adds support in all detection rule types for {elastic-defend}'s automated response actions ({kibana-pull}193390[#193390], {kibana-pull}191874[#191874]). -* Enhances {elastic-defend} by improving the `call_stack_final_user_module` attribution where potential `proxy_call` modules are encountered during Windows call stack analysis. -* Adds new fields to {elastic-defend} API events to improve context for the triage of Behavior Alerts. The new `call_stack_final_user_module` fields are `allocation_private_bytes`, `protection`, `protection_provenance_path`, and `reason`. -* Adds a new {elastic-defend} API event for https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-deviceiocontrol[`DeviceIoControl`] calls to support the detection of driver abuse. This feature is only supported on Windows 11 Desktop versions. -* Ensures security artifacts are updated when the {elastic-defend} service starts. -* Improves error messages that are returned when {elastic-defend} receives invalid or unsupported cryptographic keys from the {elastic-defend} policy. -* Ensures that {elastic-defend} tells {fleet} that it's `orphaned` if the connection between {elastic-defend} and {agent} stops for an extended period of time. {fleet} uses this information to provide you with additional troubleshooting context. -* Adds SOCKS5 proxy support to {elastic-defend}'s {ls} output. -* Ensures that on Windows, {elastic-defend} uses https://www.elastic.co/security-labs/finding-truth-in-the-shadows[Intel CET and AMD Shadow Stacks] to collect call stacks, where supported. This improves performance and enables the detection of certain defense evasions. You can turn this feature off in {elastic-defend} <> ({kibana-pull}190553[#190553]). -* Restores {elastic-defend}'s support for Windows Server 2012, which was removed in 8.13.0. -* Improves {elastic-defend}'s caching to reduce memory usage on Windows. -* Enhances {elastic-defend} by reducing the size of process events, which reduces excessive process ancestry entries and shortens the entity ID. -* Improves the reliability and system resource usage of {elastic-defend}'s Windows network driver. - -[discrete] -[[bug-fixes-8.16.0]] -==== Bug fixes - -* Prevents an empty warning message from appearing for rule executions ({kibana-pull}186096[#186096]). -* Fixes an error that could occur during rule execution when the source index had a non-ECS-compliant text field ({kibana-pull}187673[#187673]). -* Fixes an issue that could cause fields for all indices to appear when you tried to add a rule filter ({kibana-pull}194678[#194678]). -* Removes unnecessary empty space below the title of the Open Timeline modal ({kibana-pull}188837[#188837]). -* Improves the performance of the Alerts table ({kibana-pull}192827[#192827]). -* Removes the requirement that you have unnecessary {kib} {fleet} privileges to access some cloud security posture findings ({kibana-pull}194069[#194069]). -* Fixes an {elastic-defend} bug where network event deduplication logic could incorrectly drop Linux network events. -* Fixes an {elastic-defend} bug where Windows API events might be dropped if they contain Unicode characters that can't be converted to ANSI. -* Ensures that {elastic-defend} does not emit an empty `memory_region` if it can't enrich a memory region in an API event. With this fix, {elastic-defend} removes these fields. -* Fixes a bug where {elastic-defend} could fail to properly enrich Windows API events for short-lived processes on older operating systems that don't natively include this telemetry, such as Windows Server 2019. This might result in dropped or unattributed API events. -* Fixes a bug that prevented host name uniformity with {beats} products. If you request {elastic-defend} to use the fully qualified domain name (FQDN) in the `host.name` field, {elastic-defend} now reports the FQDN exactly as the OS reports it, instead of lowercasing by default. -* Fixes an {elastic-defend} bug in behavior protection alerts, where prevention alerts could mistakenly be labeled as detection alerts. -* Fixes a bug that caused {elastic-defend} to crash if a Kafka connection is busy. -* Fixes a race condition that could allow an attacker with administrative rights to disable {elastic-defend} on Windows. We would like to acknowledge Sean Moore (@Fr0g) at https://strafecybersecurity.com[strafecybersecurity.com] for their assistance. -* Fixes scenarios where Automatic Import could generate invalid processors containing array access ({kibana-pull}196207[#196207]). -* Improves Timeline's table performance when row renderers are switched on ({kibana-pull}193316[#193316]). -* Fixes misaligned filter control labels on the Alerts page ({kibana-pull}192094[#192094]). \ No newline at end of file