8.16

edit

8.16.2

edit

Bug fixes

edit
  • Rejects CEF logs from Automatic Import and redirects you to the CEF integration instead (#201792, #202994).
  • Fixes an issue that could interfere with Knowledge Base setup (#201175).
  • Modifies the empty state message that appears when installing prebuilt rules (#202226).
  • Turns off the Install All button on the Add Elastic Rules page while rules are being installed (#201731).
  • Removes fields with an @ from the script processor (#201548).
  • Fixes a bug with threshold rules that prevented cardinality details from appearing (#201162).
  • Fixes an exceptions bug that prevented the Exceptions tab from properly loading if exceptions contained comments with newline characters (\n) (#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 (#201140).
  • Fixes an issue that prevented you from successfully importing TSV files with asset criticality data if you’re on Windows (#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 prevented Elastic Security from launching when you clicked the Open Elastic Security button in the Window Security Center.

8.16.1

edit

Known issues

edit
The Exceptions tab won’t properly load if exceptions contain comments with newline characters (\n)

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 (#201820).

Workaround
Upgrade to 8.16.2, or follow the workarounds below.

For custom rules:

  1. From the Rules page, export the rule or rules with the affected exception lists.
  2. Modify the .ndjson file so comments no longer contain newline characters.
  3. Return to the Rules page and re-import the rules. Make sure to select the Overwrite existing exception lists with conflicting "list_id" option.

For prebuilt rules:

If you only need to fix exceptions for the Elastic Endpoint rule, you can export and re-import its exception list from the Shared Exception Lists page.

  1. Follow these steps to fetch the affected exception list ID or IDs that are associated with the rule:

    1. 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.
    2. Specify the id when fetching the rule’s details using the Retrieve a detection rule API. Here is an example request that includes the id:

      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
    3. 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.

      {
        "id": "167a5f6f-2148-4792-8226-b5e7a58ef46e",
        "exceptions_list": [
          {
            "id": "490525a2-eb66-4320-95b5-88bdd1302dc4",
            "list_id": "f75aae6f-0229-413f-881d-81cb3abfbe2d",
            "namespace_type": "single"
          }
        ]
      }
  2. 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:

    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
  3. Modify the exception list’s .ndjson file to ensure comments[].comment values don’t contain newline characters (\n).
  4. Re-import the modified exception list using Import exception lists option on the Shared Exception Lists 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.

Manually running threshold rules may generate duplicate alerts

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.

Manually running custom query rules with suppression could suppress more alerts than expected

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.

Bug fixes

edit
  • Fixes a bug that caused the Alerts page to crash if you upgraded to 8.16 and accessed the page in a non-default Kibana space (#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 (#200131).
  • Fixes a bug that made values unavailable for the Knowledge Base Index field, which lets you specify an index as a knowledge source (#199990).
  • Fixes a bug in Automatic Import where icons were not shown after the integration was installed (#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 (#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 (#199734).
  • Improves the warning message that displays when asset criticality assignments are duplicated during the bulk assignment flow (#199651).
  • Fixes a time skew bug that occurred when Linux virtual machines using eBPF event probes were suspended and then resumed.

8.16.0

edit

Known issues

edit
The Exceptions tab won’t properly load if exceptions contain comments with newline characters (\n)

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 (#201820).

Workaround
Upgrade to 8.16.2, or follow the workarounds below.

For custom rules:

  1. From the Rules page, export the rule or rules with the affected exception lists.
  2. Modify the .ndjson file so comments no longer contain newline characters.
  3. Return to the Rules page and re-import the rules. Make sure to select the Overwrite existing exception lists with conflicting "list_id" option.

For prebuilt rules:

If you only need to fix exceptions for the Elastic Endpoint rule, you can export and re-import its exception list from the Shared Exception Lists page.

  1. Follow these steps to fetch the affected exception list ID or IDs that are associated with the rule:

    1. 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.
    2. Specify the id when fetching the rule’s details using the Retrieve a detection rule API. Here is an example request that includes the id:

      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
    3. 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.

      {
        "id": "167a5f6f-2148-4792-8226-b5e7a58ef46e",
        "exceptions_list": [
          {
            "id": "490525a2-eb66-4320-95b5-88bdd1302dc4",
            "list_id": "f75aae6f-0229-413f-881d-81cb3abfbe2d",
            "namespace_type": "single"
          }
        ]
      }
  2. 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:

    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
  3. Modify the exception list’s .ndjson file to ensure comments[].comment values don’t contain newline characters (\n).
  4. Re-import the modified exception list using Import exception lists option on the Shared Exception Lists 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.

Attempting to edit an Elastic AI Assistant Knowledge Base index results in an error

Details
Updating a Knowledge Base entry of type "index" results in an error.

Workaround

Upgrade to 8.16.1. Alternatively, instead of updating an "index" entry, delete it and add it again with the desired changes.

Resolved
On November 21, 2024, this issue was resolved.

Manually running threshold rules may generate duplicate alerts

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.

Manually running custom query rules with suppression could suppress more alerts than expected

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.

Alerts page crashes if you upgrade to 8.16 and access it in a non-default Kibana space

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 Kibana space.

Workaround

Upgrade to 8.16.1.

Alternatively, manually edit your browser’s local storage and refresh the Alerts page:

These instructions only apply to the Google Chrome browser. Modify the steps based on the browser you’re using.

  1. Right-click anywhere on the Alerts page, then select Inspect to open Chrome’s Developer Tools.
  2. Go to Application → Storage, then expand Local Storage.
  3. Click on the name of your Kibana instance, for example, http://localhost:1234.
  4. Search for the siem.<space_name>.pageFilters key, right-click on the value, then click Delete. If you have multiple non-default spaces, do this for each space.
  5. Refresh the Alerts page to reload it.

Resolved
On November 21, 2024, this issue was resolved.

New features

edit
  • Introduces Knowledge Base for Elastic AI Assistant, which allows you to specify information for AI Assistant to remember when responding to your queries (#186566, #192665).
  • Enables agentless deployment for Elastic’s Cloud Security Posture Management integration and the new Cloud Asset Inventory integration (#191557).
  • Enables data collected by the Wiz and AWS Security Hub integrations to appear on the Findings page and in entity details flyouts (#10790, #11158).
  • Enables alerts collected by the Falco integration to appear on the Alerts page (#9619, #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 (#191898, #196127).
  • Adds the ability to attach notes to alerts and events and introduces the Notes page, which allows you to manage all existing notes (#186787, #186807, #186931, #186946, #187214, #193373).
  • Enables detection rules to automatically execute system actions, such as opening a case (#183937).
  • Adds role-based access control (RBAC) for Elastic AI Assistant’s knowledge base (#195733).
  • Adds RBAC for Attack Discovery (#188788).
  • Removes the securitySolution:enableAssetCriticality advanced setting and enables asset criticality workflows by default (#196270).
  • Introduces the entity store as a technical preview feature, which allows observed, imported, integrated, or uploaded entities to be stored persistently (#192806).
  • Adds syntax validation for ES|QL queries (#189780).
  • Allows you to view Elasticsearch queries that run during rule execution. This option is provided for ES|QL and EQL rules only (#191107).
  • Allows you to create and update a rule even when some data-related validation errors are present in the query field (#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 (#194012, #192531, #192643).
  • Creates a new advanced setting securitySolution:excludedDataTiersForRuleExecution that allows you to exclude cold and frozen data from rule executions (#186908).

    Even when the excludedDataTiersForRuleExecution advanced setting is enabled, indicator match, event correlation, and ES|QL 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 (#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 advanced policy setting.
  • 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 advanced policy setting.
  • 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 read sharing.
  • Improves Elastic Defend by enabling the use of dynamic 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.

Enhancements

edit
  • 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 (#191847).
  • Improves Elastic AI Assistant’s ability to generate ES|QL queries (#195480, #188492).
  • Adds a button that lets you quickly add queries generated by Elastic AI Assistant to a rule’s definition (#190963).
  • Adds an Other option to the OpenAI connector’s Select an OpenAI provider dropdown menu. Select this option when connecting to your own custom LLM (#194831).
  • Adds a Kibana advanced setting securitySolution:maxUnassociatedNotes, which allows you to set the maximum number of notes that can be attached to alerts and events (#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 (#191529).
  • Adds the Alert Suppression and Investigative guide fields to the rule upgrade workflow (#195499).
  • Adds the IS operator as an option when configuring a Windows signature blocklist entry (#190515).
  • Improves Attack Discovery in the following ways (#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 Elasticsearch.
    • 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 Security (#192247).
  • Improves loading performance for various pages in Kibana (#194241).
  • Adds User and Global Artifacts to the Fleet Policy Response flyout and to the Endpoint details flyout (#184125).
  • Allows you to recalculate entity risk scores immediately after you upload asset criticality data (#187577).
  • Allows you to enable entity risk scoring in multiple Kibana spaces (#192671).
  • Creates a new API endpoint for cleaning up entity risk scoring data: DELETE /api/risk_score/engine/dangerously_delete_data (#191843, #189872).
  • Allows Automatic Import to analyze a larger number of sample events when generating a new integration (#196233).
  • Allows Automatic Import to recognize CSV logs and create integrations for CSV data (#196228, #194386).
  • Allows you to open the rule details flyout from the Alerts table (#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) (#192906, #182615).
  • Improves network previews in the alert details flyout (#190560).
  • Adds support in all detection rule types for Elastic Defend’s automated response actions (#193390, #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 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 Elastic 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 Logstash output.
  • Ensures that on Windows, Elastic Defend uses 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 advanced policy settings (#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.

Bug fixes

edit
  • Prevents an empty warning message from appearing for rule executions (#186096).
  • Fixes an error that could occur during rule execution when the source index had a non-ECS-compliant text field (#187673).
  • Fixes an issue that could cause fields for all indices to appear when you tried to add a rule filter (#194678).
  • Removes unnecessary empty space below the title of the Open Timeline modal (#188837).
  • Improves the performance of the Alerts table (#192827).
  • Removes the requirement that you have unnecessary Kibana Fleet privileges to access some cloud security posture findings (#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 scenarios where Automatic Import could generate invalid processors containing array access (#196207).
  • Improves Timeline’s table performance when row renderers are switched on (#193316).
  • Fixes misaligned filter control labels on the Alerts page (#192094).