<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Real-Time BIOC Detection and Playbook Execution for SSH/RDP Sessions in Cortex XDR Discussions</title>
    <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/real-time-bioc-detection-and-playbook-execution-for-ssh-rdp/m-p/1262316#M9507</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/645079201"&gt;@.522643&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Greetings for the day.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="flex max-w-full flex-col gap-4 grow"&gt;
&lt;DIV class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;amp;]:mt-1" dir="auto" tabindex="0" data-turn-start-message="true" data-message-model-slug="gpt-5-6" data-message-id="a01d1873-f074-4938-9185-8c3a9bca27e3" data-message-author-role="assistant"&gt;
&lt;DIV class="flex w-full flex-col gap-1 empty:hidden"&gt;
&lt;DIV class="markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling"&gt;
&lt;P class="PDq2pG_selectionAnchorContainer" data-end="162" data-start="0"&gt;The delay is expected behavior based on the Cortex XDR EDR telemetry architecture. EDR data is collected locally, archived, and uploaded to the server in batches.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P data-end="195" data-start="164"&gt;&lt;STRONG data-end="195" data-start="164"&gt;1. Explanation of the Delay:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P data-end="233" data-start="197"&gt;The 1–5 minute delay occurs because:&lt;/P&gt;
&lt;UL data-end="532" data-start="234"&gt;
&lt;LI data-end="321" data-start="234" data-section-id="78s1aw"&gt;&lt;STRONG data-end="250" data-start="236"&gt;Archiving:&lt;/STRONG&gt; EDR data is typically zipped every 5 minutes or when it reaches 20 MB.&lt;/LI&gt;
&lt;LI data-end="419" data-start="322" data-section-id="1bxe1lv"&gt;&lt;STRONG data-end="338" data-start="324"&gt;Heartbeat:&lt;/STRONG&gt; Archived data is sent during the agent heartbeat, approximately every 5 minutes.&lt;/LI&gt;
&lt;LI data-end="532" data-start="420" data-section-id="9w77ux"&gt;&lt;STRONG data-end="437" data-start="422"&gt;Processing:&lt;/STRONG&gt; The backend processes and stitches events before the Detection Engine triggers the BIOC Issue.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-end="572" data-start="534"&gt;&lt;STRONG data-end="572" data-start="534"&gt;2. Achieving Real-Time Termination:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P data-end="680" data-start="574"&gt;For real-time blocking or termination, use a &lt;STRONG data-end="645" data-start="619"&gt;Custom Prevention Rule&lt;/STRONG&gt; instead of a server-side Playbook.&lt;/P&gt;
&lt;OL data-end="1018" data-start="682"&gt;
&lt;LI data-end="714" data-start="682" data-section-id="1eq7vvk"&gt;Go to Detection Rules → BIOC.&lt;/LI&gt;
&lt;LI data-end="820" data-start="715" data-section-id="ufddcb"&gt;Use &lt;CODE data-end="749" data-start="722"&gt;event_type = ENUM.PROCESS&lt;/CODE&gt; to block the SSH client from starting, or &lt;CODE data-end="806" data-start="792"&gt;ENUM.NETWORK&lt;/CODE&gt; if supported.&lt;/LI&gt;
&lt;LI data-end="923" data-start="821" data-section-id="1nx7yoh"&gt;Add the rule to a Restrictions Profile under Endpoints → Policy Management → Prevention → Profiles.&lt;/LI&gt;
&lt;LI data-end="972" data-start="924" data-section-id="1t1u3wi"&gt;Set the action to &lt;STRONG data-end="954" data-start="945"&gt;Block&lt;/STRONG&gt; or &lt;STRONG data-end="971" data-start="958"&gt;Terminate&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI data-end="1018" data-start="973" data-section-id="1c3i4wl"&gt;Apply the profile to the target endpoints.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P data-end="1047" data-start="1020"&gt;&lt;STRONG data-end="1047" data-start="1020"&gt;Alternative Event Types&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL data-end="1209" data-start="1049"&gt;
&lt;LI data-end="1117" data-start="1049" data-section-id="1p33byh"&gt;&lt;STRONG data-end="1068" data-start="1051"&gt;ENUM.PROCESS:&lt;/STRONG&gt; Best for blocking the SSH/RDP client at startup.&lt;/LI&gt;
&lt;LI data-end="1209" data-start="1118" data-section-id="1eqi98c"&gt;&lt;STRONG data-end="1137" data-start="1120"&gt;ENUM.NETWORK:&lt;/STRONG&gt; Can block based on destination port 22 when applied in Prevention Mode.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-end="1225" data-start="1211"&gt;&lt;STRONG data-end="1225" data-start="1211"&gt;Summary:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL data-is-only-node="" data-is-last-node="" data-end="1493" data-start="1227"&gt;
&lt;LI data-end="1318" data-start="1227" data-section-id="1jm6r3n"&gt;Playbooks are not real-time for EDR events and are subject to the ~5-minute upload delay.&lt;/LI&gt;
&lt;LI data-end="1383" data-start="1319" data-section-id="1ichib7"&gt;Prevention is the standard approach for real-time enforcement.&lt;/LI&gt;
&lt;LI data-is-last-node="" data-end="1493" data-start="1384" data-section-id="pr6yih"&gt;Restriction Profiles provide real-time blocking, while Playbooks are mainly for post-detection remediation.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;If you feel this has answered your query, please let us know by clicking&amp;nbsp;&lt;STRONG&gt;like&amp;nbsp;&lt;/STRONG&gt;and on&amp;nbsp;&lt;STRONG&gt;"mark this as a Solution"&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards,&lt;BR /&gt;S. Subashkar Sekar&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 19 Aug 2026 13:49:01 GMT</pubDate>
    <dc:creator>susekar</dc:creator>
    <dc:date>2026-08-19T13:49:01Z</dc:date>
    <item>
      <title>Real-Time BIOC Detection and Playbook Execution for SSH/RDP Sessions</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/real-time-bioc-detection-and-playbook-execution-for-ssh-rdp/m-p/1262285#M9505</link>
      <description>&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;I am working on a Playbook to detect RDP/SSH communications between servers and automatically terminate the corresponding process when such communication is detected.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;As a preliminary test, I have configured a small-scale test to verify that the process can be automatically terminated. My current configuration is as follows.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3&gt;&lt;SPAN&gt;1. XDR Environment&lt;/SPAN&gt;&lt;/H3&gt;
&lt;UL data-spread="false"&gt;
&lt;LI&gt;&lt;SPAN&gt;Product: &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;XDR Pro&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Test environment: &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Windows → Windows SSH communication&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;SSH Client: &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;MobaXterm&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;SPAN&gt;2. Test BIOC Rule&lt;/SPAN&gt;&lt;/H3&gt;
&lt;PRE dir="ltr"&gt;&lt;CODE dir="ltr"&gt;&lt;SPAN&gt;dataset = xdr_data
| filter event_type = ENUM.NETWORK
| filter action_remote_port = 22
    and actor_process_image_path contains "D:\Program\MobaXterm_Portable_v26.0"&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;The above BIOC Rule is designed to detect SSH communication generated by MobaXterm.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3&gt;&lt;SPAN&gt;3. Playbook Configuration&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;The Playbook receives the following values from the Issue Event generated by the BIOC Rule:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL data-spread="false"&gt;
&lt;LI&gt;&lt;CODE dir="ltr"&gt;&lt;SPAN&gt;${issue.agentid}&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;CODE dir="ltr"&gt;&lt;SPAN&gt;${issue.actorprocessinstanceid}&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;I am using the following action to terminate the process:&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE dir="ltr"&gt;&lt;CODE dir="ltr"&gt;&lt;SPAN&gt;Cortex Core - IR | core-terminate-process&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;I also tested the Playbook through the Debugger Panel by specifying a generated Issue, and confirmed that the target process was successfully terminated.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3&gt;&lt;SPAN&gt;4. Current Issue&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;When I actually establish an SSH connection for testing, the Issue Event generated by the BIOC Rule is created &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;approximately 1–5 minutes after the SSH session has already been terminated&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;Therefore, the Playbook is executed only after the session has already ended, which does not meet the intended purpose of terminating the process while the remote session is still active.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;The current flow is:&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE dir="ltr"&gt;&lt;CODE dir="ltr"&gt;&lt;SPAN&gt;SSH session established
        ↓
SSH communication occurs
        ↓
SSH session terminated
        ↓
BIOC Issue generated after approximately 1–5 minutes
        ↓
Playbook executed
        ↓
Process terminated&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;What I would like to achieve is:&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE dir="ltr"&gt;&lt;CODE dir="ltr"&gt;&lt;SPAN&gt;SSH/RDP session established
        ↓
Communication detected in real time
        ↓
BIOC Issue generated
        ↓
Playbook executed
        ↓
Corresponding SSH/RDP process terminated&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;My question is:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="isSelectedEnd"&gt;&lt;STRONG&gt;&lt;SPAN&gt;Is there a way to configure a BIOC Rule so that an Issue Event is generated in real time while the SSH/RDP session is still active?&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;Currently, I am using &lt;/SPAN&gt;&lt;CODE dir="ltr"&gt;&lt;SPAN&gt;event_type = ENUM.NETWORK&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN&gt; for the detection. Is the delayed Issue generation after the session ends expected behavior for this type of network event?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;Alternatively, is there another event type or field that I could use to detect the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;SSH/RDP session establishment or process initiation&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; and trigger the Playbook while the session is still active?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="isSelectedEnd"&gt;&lt;SPAN&gt;Any guidance or recommendations would be greatly appreciated.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thank you!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Aug 2026 07:57:07 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/real-time-bioc-detection-and-playbook-execution-for-ssh-rdp/m-p/1262285#M9505</guid>
      <dc:creator>.522643</dc:creator>
      <dc:date>2026-08-19T07:57:07Z</dc:date>
    </item>
    <item>
      <title>Re: Real-Time BIOC Detection and Playbook Execution for SSH/RDP Sessions</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/real-time-bioc-detection-and-playbook-execution-for-ssh-rdp/m-p/1262316#M9507</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/645079201"&gt;@.522643&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Greetings for the day.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="flex max-w-full flex-col gap-4 grow"&gt;
&lt;DIV class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;amp;]:mt-1" dir="auto" tabindex="0" data-turn-start-message="true" data-message-model-slug="gpt-5-6" data-message-id="a01d1873-f074-4938-9185-8c3a9bca27e3" data-message-author-role="assistant"&gt;
&lt;DIV class="flex w-full flex-col gap-1 empty:hidden"&gt;
&lt;DIV class="markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling"&gt;
&lt;P class="PDq2pG_selectionAnchorContainer" data-end="162" data-start="0"&gt;The delay is expected behavior based on the Cortex XDR EDR telemetry architecture. EDR data is collected locally, archived, and uploaded to the server in batches.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P data-end="195" data-start="164"&gt;&lt;STRONG data-end="195" data-start="164"&gt;1. Explanation of the Delay:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P data-end="233" data-start="197"&gt;The 1–5 minute delay occurs because:&lt;/P&gt;
&lt;UL data-end="532" data-start="234"&gt;
&lt;LI data-end="321" data-start="234" data-section-id="78s1aw"&gt;&lt;STRONG data-end="250" data-start="236"&gt;Archiving:&lt;/STRONG&gt; EDR data is typically zipped every 5 minutes or when it reaches 20 MB.&lt;/LI&gt;
&lt;LI data-end="419" data-start="322" data-section-id="1bxe1lv"&gt;&lt;STRONG data-end="338" data-start="324"&gt;Heartbeat:&lt;/STRONG&gt; Archived data is sent during the agent heartbeat, approximately every 5 minutes.&lt;/LI&gt;
&lt;LI data-end="532" data-start="420" data-section-id="9w77ux"&gt;&lt;STRONG data-end="437" data-start="422"&gt;Processing:&lt;/STRONG&gt; The backend processes and stitches events before the Detection Engine triggers the BIOC Issue.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-end="572" data-start="534"&gt;&lt;STRONG data-end="572" data-start="534"&gt;2. Achieving Real-Time Termination:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P data-end="680" data-start="574"&gt;For real-time blocking or termination, use a &lt;STRONG data-end="645" data-start="619"&gt;Custom Prevention Rule&lt;/STRONG&gt; instead of a server-side Playbook.&lt;/P&gt;
&lt;OL data-end="1018" data-start="682"&gt;
&lt;LI data-end="714" data-start="682" data-section-id="1eq7vvk"&gt;Go to Detection Rules → BIOC.&lt;/LI&gt;
&lt;LI data-end="820" data-start="715" data-section-id="ufddcb"&gt;Use &lt;CODE data-end="749" data-start="722"&gt;event_type = ENUM.PROCESS&lt;/CODE&gt; to block the SSH client from starting, or &lt;CODE data-end="806" data-start="792"&gt;ENUM.NETWORK&lt;/CODE&gt; if supported.&lt;/LI&gt;
&lt;LI data-end="923" data-start="821" data-section-id="1nx7yoh"&gt;Add the rule to a Restrictions Profile under Endpoints → Policy Management → Prevention → Profiles.&lt;/LI&gt;
&lt;LI data-end="972" data-start="924" data-section-id="1t1u3wi"&gt;Set the action to &lt;STRONG data-end="954" data-start="945"&gt;Block&lt;/STRONG&gt; or &lt;STRONG data-end="971" data-start="958"&gt;Terminate&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI data-end="1018" data-start="973" data-section-id="1c3i4wl"&gt;Apply the profile to the target endpoints.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P data-end="1047" data-start="1020"&gt;&lt;STRONG data-end="1047" data-start="1020"&gt;Alternative Event Types&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL data-end="1209" data-start="1049"&gt;
&lt;LI data-end="1117" data-start="1049" data-section-id="1p33byh"&gt;&lt;STRONG data-end="1068" data-start="1051"&gt;ENUM.PROCESS:&lt;/STRONG&gt; Best for blocking the SSH/RDP client at startup.&lt;/LI&gt;
&lt;LI data-end="1209" data-start="1118" data-section-id="1eqi98c"&gt;&lt;STRONG data-end="1137" data-start="1120"&gt;ENUM.NETWORK:&lt;/STRONG&gt; Can block based on destination port 22 when applied in Prevention Mode.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-end="1225" data-start="1211"&gt;&lt;STRONG data-end="1225" data-start="1211"&gt;Summary:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL data-is-only-node="" data-is-last-node="" data-end="1493" data-start="1227"&gt;
&lt;LI data-end="1318" data-start="1227" data-section-id="1jm6r3n"&gt;Playbooks are not real-time for EDR events and are subject to the ~5-minute upload delay.&lt;/LI&gt;
&lt;LI data-end="1383" data-start="1319" data-section-id="1ichib7"&gt;Prevention is the standard approach for real-time enforcement.&lt;/LI&gt;
&lt;LI data-is-last-node="" data-end="1493" data-start="1384" data-section-id="pr6yih"&gt;Restriction Profiles provide real-time blocking, while Playbooks are mainly for post-detection remediation.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;If you feel this has answered your query, please let us know by clicking&amp;nbsp;&lt;STRONG&gt;like&amp;nbsp;&lt;/STRONG&gt;and on&amp;nbsp;&lt;STRONG&gt;"mark this as a Solution"&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards,&lt;BR /&gt;S. Subashkar Sekar&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Aug 2026 13:49:01 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/real-time-bioc-detection-and-playbook-execution-for-ssh-rdp/m-p/1262316#M9507</guid>
      <dc:creator>susekar</dc:creator>
      <dc:date>2026-08-19T13:49:01Z</dc:date>
    </item>
  </channel>
</rss>

