Detection rules › Splunk

Windows Chrome Auto-Update Disabled via Registry

Status
production
Severity
low
Group by
TargetObject, computer_name, details, event_type, process_guid, process_id, registry_hive, registry_path, registry_status, registry_value_name, registry_value_type, user, vendor_product
Author
Teoderick Contreras, Splunk
Source
github.com/splunk/security_content

The following analytic detects modifications to Windows registry values that disable Google Chrome auto-updates. Changes to values such as DisableAutoUpdateChecksCheckboxValue = 1, Update{8A69D345-D564-463C-AFF1-A69D9E530F96} = 0, UpdateDefault = 0, and AutoUpdateCheckPeriodMinutes = 0 can prevent Chrome from receiving security updates. This behavior may indicate attempts to bypass update policies, maintain unauthorized extensions, or facilitate malware persistence. Monitoring these registry changes helps identify potential policy violations or malicious activity targeting browser security.

Known false positives

  • IT administrators intentionally disabling auto-updates in managed environments for testing, compatibility, or deployment purposes.

MITRE ATT&CK coverage

TacticTechniques
Collection

Telemetry coverage

Rule body

name: Windows Chrome Auto-Update Disabled via Registry
id: 619eac6c-0f03-4699-ae29-5f337877bcf9
version: 4
creation_date: '2026-01-12'
modification_date: '2026-05-13'
author: Teoderick Contreras, Splunk
status: production
type: Anomaly
description: |
    The following analytic detects modifications to Windows registry values that disable Google Chrome auto-updates.
    Changes to values such as DisableAutoUpdateChecksCheckboxValue = 1, Update{8A69D345-D564-463C-AFF1-A69D9E530F96} = 0, UpdateDefault = 0, and AutoUpdateCheckPeriodMinutes = 0 can prevent Chrome from receiving security updates.
    This behavior may indicate attempts to bypass update policies, maintain unauthorized extensions, or facilitate malware persistence.
    Monitoring these registry changes helps identify potential policy violations or malicious activity targeting browser security.
data_source:
    - Sysmon EventID 13
search: |
    | tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry
    
    where Registry.registry_path = "*\\Google\\Update*"
          AND
          (
            Registry.registry_value_name = "DisableAutoUpdateChecksCheckboxValue"
            Registry.registry_value_data = 0x00000001
          )
          OR
          (
            Registry.registry_value_name  IN (
              "AutoUpdateCheckPeriodMinutes",
              "Update{8A69D345-D564-463C-AFF1-A69D9E530F96}",
              "UpdateDefault"
            )
            Registry.registry_value_data = 0x00000000
          )
    
    by Registry.action Registry.dest Registry.process_guid Registry.process_id
       Registry.registry_hive Registry.registry_path Registry.registry_key_name
       Registry.registry_value_data Registry.registry_value_name
       Registry.registry_value_type Registry.status Registry.user Registry.vendor_product
    
    | `drop_dm_object_name(Registry)`
    | `security_content_ctime(firstTime)`
    | `security_content_ctime(lastTime)`
    | `windows_chrome_auto_update_disabled_via_registry_filter`
how_to_implement: |
    To successfully implement this search, you need to be ingesting
    logs with the registry value name, registry path, and registry value data from your
    endpoints. If you are using Sysmon, you must have at least version 2.0 of the official
    Sysmon TA. https://splunkbase.splunk.com/app/5709
known_false_positives: |
    IT administrators intentionally disabling auto-updates in managed environments for testing, compatibility, or deployment purposes.
references:
    - https://www.gdatasoftware.com/blog/2025/11/38298-learning-about-browser-hijacking
intermediate_findings:
    entities:
        - field: dest
          type: system
          score: 20
          message: Chrome Auto-update in $registry_path$ was disabled on $dest$
analytic_story:
    - Browser Hijacking
asset_type: Endpoint
mitre_attack_id:
    - T1185
product:
    - Splunk Enterprise
    - Splunk Enterprise Security
    - Splunk Cloud
category: endpoint
security_domain: endpoint

Stages and Predicates

Stage 1: tstats

| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Registry

where Registry.registry_path = "*\\Google\\Update*"
      AND
      (
        Registry.registry_value_name = "DisableAutoUpdateChecksCheckboxValue"
        Registry.registry_value_data = 0x00000001
      )
      OR
      (
        Registry.registry_value_name  IN (
          "AutoUpdateCheckPeriodMinutes",
          "Update{8A69D345-D564-463C-AFF1-A69D9E530F96}",
          "UpdateDefault"
        )
        Registry.registry_value_data = 0x00000000
      )

by Registry.action Registry.dest Registry.process_guid Registry.process_id
   Registry.registry_hive Registry.registry_path Registry.registry_key_name
   Registry.registry_value_data Registry.registry_value_name
   Registry.registry_value_type Registry.status Registry.user Registry.vendor_product

Stage 2: search

| `drop_dm_object_name(Registry)`

Stage 3: search

| `security_content_ctime(firstTime)`

Stage 4: search

| `security_content_ctime(lastTime)`

Stage 5: search

| `windows_chrome_auto_update_disabled_via_registry_filter`

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
Registry.registry_patheq
  • "*\\Google\\Update*"
field:"registry_path" kind:eq
Registry.registry_value_dataeq
  • 0x00000000 corpus 41 (splunk 33, elastic 8)
  • 0x00000001 corpus 61 (splunk 52, elastic 9)
field:"Details" kind:eq
Registry.registry_value_nameeq
  • "DisableAutoUpdateChecksCheckboxValue"
field:"registry_value_name" kind:eq
Registry.registry_value_namein
  • "AutoUpdateCheckPeriodMinutes"
  • "UpdateDefault"
  • "Update{8A69D345-D564-463C-AFF1-A69D9E530F96}"
field:"registry_value_name" kind:in