<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>7.R7.2 Supply Chain 類案例 on Tarragon</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/</link><description>Recent content in 7.R7.2 Supply Chain 類案例 on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Fri, 24 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/index.xml" rel="self" type="application/rss+xml"/><item><title>7.R7.2.1 SolarWinds 2020：更新鏈被濫用</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/solarwinds-2020-sunburst/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/solarwinds-2020-sunburst/</guid><description>&lt;h2 id="事故摘要">事故摘要&lt;/h2>
&lt;p>2020 年公開的 SUNBURST 事件顯示，攻擊者透過供應鏈植入，將惡意行為包裹在合法更新流程中進入大量組織。&lt;/p>
&lt;p>&lt;strong>本案例的演示焦點&lt;/strong>：合法更新管道被植入後、依賴下游對「已簽章 artifact」的高度信任進行長期潛伏與橫向擴散，屬於 build / release pipeline 上游 compromise 類別。身分鏈接管、邊界零時差、資料外送速率壓力等 threat surface 由其他 case category 承擔。&lt;/p>
&lt;h2 id="攻擊路徑">攻擊路徑&lt;/h2>
&lt;ol>
&lt;li>滲透供應鏈節點。&lt;/li>
&lt;li>在合法交付流程植入惡意內容。&lt;/li>
&lt;li>依賴受害端對更新的高信任擴散。&lt;/li>
&lt;/ol>
&lt;h2 id="失效控制面">失效控制面&lt;/h2>
&lt;ul>
&lt;li>更新來源信任過於單點。&lt;/li>
&lt;li>行為監測難以區分合法元件與惡意利用。&lt;/li>
&lt;li>供應鏈異常事件缺少快速隔離流程。&lt;/li>
&lt;/ul>
&lt;h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼&lt;/h2>
&lt;p>若缺少「合法更新異常行為審查」，團隊會把事件視為一般系統活動，延長停留時間與清除成本。&lt;/p>
&lt;h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點&lt;/h2>
&lt;ul>
&lt;li>發布前：供應鏈節點做分層信任與簽章驗證（build provenance / SBOM / 簽章不只驗發行者、還驗 build 環境一致性），mechanism 是讓「合法簽章」不等於「未被植入」。&lt;/li>
&lt;li>日常：建立異常更新行為的 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/symptom-based-alert/" data-link-title="Symptom-Based Alert" data-link-desc="說明告警應優先偵測使用者可感知症狀">symptom-based alert&lt;/a>（受信任元件的非典型網路行為 / 異常 process 子鏈、不依賴單一 IoC）。&lt;/li>
&lt;li>事故中：切換受影響更新鏈、建立替代交付路徑與回復順序（前提是事先有 multi-source 更新策略、一鍵 cut-over 不能臨時設計）。&lt;/li>
&lt;/ul>
&lt;h2 id="從本案例到實作的-chain">從本案例到實作的 chain&lt;/h2>
&lt;p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>控制面&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/workload-identity-and-federated-trust/" data-link-title="7.10 Workload Identity 與聯邦信任邊界" data-link-desc="定義非人類身份、跨平台信任與短時憑證治理問題">7.5 工作負載身份與 federated trust&lt;/a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。&lt;/li>
&lt;li>&lt;strong>演練 / 控制落地&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/evidence-chain-pattern/" data-link-title="Evidence Chain Pattern" data-link-desc="定義事故與演練需要保存的訊號、決策、artifact、timeline 與 retention 證據">Evidence chain pattern&lt;/a> —— 把樣式轉成演練與控制欄位。&lt;/li>
&lt;li>&lt;strong>跨章交接&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform&lt;/a> 的交付與簽章治理、&lt;a href="https://tarrragon.github.io/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response&lt;/a> 的供應鏈事件指揮流程。&lt;/li>
&lt;/ul>
&lt;p>供應鏈類事故的失效樣式不對應紅隊 problem-cards（後者集中於 tenant flow / identity flow 樣式），主要 chain 直接從控制面起步。&lt;/p>
&lt;h2 id="來源">來源&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>來源&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;th>可引用範圍&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;a href="https://www.solarwinds.com/securityadvisory">solarwinds.com&lt;/a>&lt;/td>
 &lt;td>官方&lt;/td>
 &lt;td>受影響版本、植入時間軸、官方修補節奏&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa20-352a">cisa.gov&lt;/a>&lt;/td>
 &lt;td>政府/監管&lt;/td>
 &lt;td>受影響範圍、檢測指引、跨機構處置建議&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://www.mandiant.com/resources/blog/evasive-attacker-leverages-solarwinds-supply-chain-compromises">mandiant.com&lt;/a>&lt;/td>
 &lt;td>技術分析&lt;/td>
 &lt;td>UNC2452 TTP、後門行為特徵、long-dwell evasion telemetry&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description><content:encoded><![CDATA[<h2 id="事故摘要">事故摘要</h2>
<p>2020 年公開的 SUNBURST 事件顯示，攻擊者透過供應鏈植入，將惡意行為包裹在合法更新流程中進入大量組織。</p>
<p><strong>本案例的演示焦點</strong>：合法更新管道被植入後、依賴下游對「已簽章 artifact」的高度信任進行長期潛伏與橫向擴散，屬於 build / release pipeline 上游 compromise 類別。身分鏈接管、邊界零時差、資料外送速率壓力等 threat surface 由其他 case category 承擔。</p>
<h2 id="攻擊路徑">攻擊路徑</h2>
<ol>
<li>滲透供應鏈節點。</li>
<li>在合法交付流程植入惡意內容。</li>
<li>依賴受害端對更新的高信任擴散。</li>
</ol>
<h2 id="失效控制面">失效控制面</h2>
<ul>
<li>更新來源信任過於單點。</li>
<li>行為監測難以區分合法元件與惡意利用。</li>
<li>供應鏈異常事件缺少快速隔離流程。</li>
</ul>
<h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼</h2>
<p>若缺少「合法更新異常行為審查」，團隊會把事件視為一般系統活動，延長停留時間與清除成本。</p>
<h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點</h2>
<ul>
<li>發布前：供應鏈節點做分層信任與簽章驗證（build provenance / SBOM / 簽章不只驗發行者、還驗 build 環境一致性），mechanism 是讓「合法簽章」不等於「未被植入」。</li>
<li>日常：建立異常更新行為的 <a href="/blog/backend/knowledge-cards/symptom-based-alert/" data-link-title="Symptom-Based Alert" data-link-desc="說明告警應優先偵測使用者可感知症狀">symptom-based alert</a>（受信任元件的非典型網路行為 / 異常 process 子鏈、不依賴單一 IoC）。</li>
<li>事故中：切換受影響更新鏈、建立替代交付路徑與回復順序（前提是事先有 multi-source 更新策略、一鍵 cut-over 不能臨時設計）。</li>
</ul>
<h2 id="從本案例到實作的-chain">從本案例到實作的 chain</h2>
<p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：</p>
<ul>
<li><strong>控制面</strong>：<a href="/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任</a> + <a href="/blog/backend/07-security-data-protection/workload-identity-and-federated-trust/" data-link-title="7.10 Workload Identity 與聯邦信任邊界" data-link-desc="定義非人類身份、跨平台信任與短時憑證治理問題">7.5 工作負載身份與 federated trust</a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。</li>
<li><strong>演練 / 控制落地</strong>：<a href="/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/evidence-chain-pattern/" data-link-title="Evidence Chain Pattern" data-link-desc="定義事故與演練需要保存的訊號、決策、artifact、timeline 與 retention 證據">Evidence chain pattern</a> —— 把樣式轉成演練與控制欄位。</li>
<li><strong>跨章交接</strong>：<a href="/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform</a> 的交付與簽章治理、<a href="/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response</a> 的供應鏈事件指揮流程。</li>
</ul>
<p>供應鏈類事故的失效樣式不對應紅隊 problem-cards（後者集中於 tenant flow / identity flow 樣式），主要 chain 直接從控制面起步。</p>
<h2 id="來源">來源</h2>
<table>
  <thead>
      <tr>
          <th>來源</th>
          <th>類型</th>
          <th>可引用範圍</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="https://www.solarwinds.com/securityadvisory">solarwinds.com</a></td>
          <td>官方</td>
          <td>受影響版本、植入時間軸、官方修補節奏</td>
      </tr>
      <tr>
          <td><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa20-352a">cisa.gov</a></td>
          <td>政府/監管</td>
          <td>受影響範圍、檢測指引、跨機構處置建議</td>
      </tr>
      <tr>
          <td><a href="https://www.mandiant.com/resources/blog/evasive-attacker-leverages-solarwinds-supply-chain-compromises">mandiant.com</a></td>
          <td>技術分析</td>
          <td>UNC2452 TTP、後門行為特徵、long-dwell evasion telemetry</td>
      </tr>
  </tbody>
</table>
]]></content:encoded></item><item><title>7.R7.2.2 GitHub OAuth 2022：第三方 token 供應鏈風險</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/github-oauth-2022-token-supply-chain/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/github-oauth-2022-token-supply-chain/</guid><description>&lt;h2 id="事故摘要">事故摘要&lt;/h2>
&lt;p>2022 年 4 月，GitHub 公告指出攻擊者使用從第三方整合服務取得的 OAuth token 存取受影響組織資料。&lt;/p>
&lt;p>&lt;strong>本案例的演示焦點&lt;/strong>：第三方整合 OAuth token 被竊 → 跨組織下游存取的 federated trust supply-chain 風險。重點在 OAuth scope / lifetime / inventory 設計、跟身分鏈接管 (identity-access category) 形成互補視角。&lt;/p>
&lt;h2 id="攻擊路徑">攻擊路徑&lt;/h2>
&lt;ol>
&lt;li>攻擊第三方整合節點。&lt;/li>
&lt;li>取得可用 OAuth token。&lt;/li>
&lt;li>使用 token 存取下游客戶資產。&lt;/li>
&lt;/ol>
&lt;h2 id="失效控制面">失效控制面&lt;/h2>
&lt;ul>
&lt;li>token 權限範圍過寬。&lt;/li>
&lt;li>token 生命周期偏長，撤銷速度慢。&lt;/li>
&lt;li>整合關係資產盤點與監控不足。&lt;/li>
&lt;/ul>
&lt;h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼&lt;/h2>
&lt;p>若缺少「第三方 token 全域盤點與快速撤銷」，事件發生後仍會留下可用 token，形成二次入侵窗口。&lt;/p>
&lt;h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點&lt;/h2>
&lt;ul>
&lt;li>共同基線：以 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/runbook/" data-link-title="Runbook" data-link-desc="說明 runbook 如何把事故判斷與操作步驟標準化">runbook&lt;/a> 與 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/incident-timeline/" data-link-title="Incident Timeline" data-link-desc="說明事故時間線如何支援判斷、溝通與復盤">incident timeline&lt;/a> 固定記錄觸發條件與處置節奏。&lt;/li>
&lt;li>發布前：採最小權限 token 與明確用途分域（OAuth scope 不用 catch-all、按 audience 切），mechanism 是讓單個 token 接管不會通往無關資產。&lt;/li>
&lt;li>日常：建立第三方整合清單與失效期限巡檢（含 token 上次使用時間、長期未用就主動失效）。&lt;/li>
&lt;li>事故中：依清單自動化撤銷、輪替、補授權（前提是 token issuer 提供 bulk revocation API）。&lt;/li>
&lt;/ul>
&lt;h2 id="從本案例到實作的-chain">從本案例到實作的 chain&lt;/h2>
&lt;p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>控制面&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/workload-identity-and-federated-trust/" data-link-title="7.10 Workload Identity 與聯邦信任邊界" data-link-desc="定義非人類身份、跨平台信任與短時憑證治理問題">7.5 工作負載身份與 federated trust&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/secrets-and-machine-credential-governance/" data-link-title="7.6 秘密管理與機器憑證治理" data-link-desc="以問題驅動方式整理 secret、token、key 與機器身份治理">7.8 secrets 與機器憑證治理&lt;/a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。&lt;/li>
&lt;li>&lt;strong>演練 / 控制落地&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/credential-hygiene-pattern/" data-link-title="Credential Hygiene Pattern" data-link-desc="定義 credential、MFA、輪替、infostealer 監控與 network boundary 的共同基線">Credential hygiene pattern&lt;/a> —— 把樣式轉成 token 治理欄位與輪替演練。&lt;/li>
&lt;li>&lt;strong>跨章交接&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/04-observability/" data-link-title="模組四：可觀測性平台" data-link-desc="整理 log、metric、trace、dashboard 與 alert 的後端操作實務">backend/04-observability&lt;/a> 的第三方整合監測、&lt;a href="https://tarrragon.github.io/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform&lt;/a> 的部署 token 治理。&lt;/li>
&lt;/ul>
&lt;p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。&lt;/p>
&lt;h2 id="來源">來源&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>來源&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;th>可引用範圍&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;a href="https://github.blog/news-insights/company-news/security-alert-stolen-oauth-user-tokens/">github.blog&lt;/a>&lt;/td>
 &lt;td>官方&lt;/td>
 &lt;td>OAuth token 被竊起點、影響組織範圍、初步處置時序&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://github.blog/2022-12-08-notice-of-security-incident/">github.blog&lt;/a>&lt;/td>
 &lt;td>官方延伸&lt;/td>
 &lt;td>後續事件、跨整合影響評估&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-320a">cisa.gov&lt;/a>&lt;/td>
 &lt;td>政府/監管&lt;/td>
 &lt;td>跨組織 OAuth abuse / federated chain TTP&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description><content:encoded><![CDATA[<h2 id="事故摘要">事故摘要</h2>
<p>2022 年 4 月，GitHub 公告指出攻擊者使用從第三方整合服務取得的 OAuth token 存取受影響組織資料。</p>
<p><strong>本案例的演示焦點</strong>：第三方整合 OAuth token 被竊 → 跨組織下游存取的 federated trust supply-chain 風險。重點在 OAuth scope / lifetime / inventory 設計、跟身分鏈接管 (identity-access category) 形成互補視角。</p>
<h2 id="攻擊路徑">攻擊路徑</h2>
<ol>
<li>攻擊第三方整合節點。</li>
<li>取得可用 OAuth token。</li>
<li>使用 token 存取下游客戶資產。</li>
</ol>
<h2 id="失效控制面">失效控制面</h2>
<ul>
<li>token 權限範圍過寬。</li>
<li>token 生命周期偏長，撤銷速度慢。</li>
<li>整合關係資產盤點與監控不足。</li>
</ul>
<h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼</h2>
<p>若缺少「第三方 token 全域盤點與快速撤銷」，事件發生後仍會留下可用 token，形成二次入侵窗口。</p>
<h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點</h2>
<ul>
<li>共同基線：以 <a href="/blog/backend/knowledge-cards/runbook/" data-link-title="Runbook" data-link-desc="說明 runbook 如何把事故判斷與操作步驟標準化">runbook</a> 與 <a href="/blog/backend/knowledge-cards/incident-timeline/" data-link-title="Incident Timeline" data-link-desc="說明事故時間線如何支援判斷、溝通與復盤">incident timeline</a> 固定記錄觸發條件與處置節奏。</li>
<li>發布前：採最小權限 token 與明確用途分域（OAuth scope 不用 catch-all、按 audience 切），mechanism 是讓單個 token 接管不會通往無關資產。</li>
<li>日常：建立第三方整合清單與失效期限巡檢（含 token 上次使用時間、長期未用就主動失效）。</li>
<li>事故中：依清單自動化撤銷、輪替、補授權（前提是 token issuer 提供 bulk revocation API）。</li>
</ul>
<h2 id="從本案例到實作的-chain">從本案例到實作的 chain</h2>
<p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：</p>
<ul>
<li><strong>控制面</strong>：<a href="/blog/backend/07-security-data-protection/workload-identity-and-federated-trust/" data-link-title="7.10 Workload Identity 與聯邦信任邊界" data-link-desc="定義非人類身份、跨平台信任與短時憑證治理問題">7.5 工作負載身份與 federated trust</a> + <a href="/blog/backend/07-security-data-protection/secrets-and-machine-credential-governance/" data-link-title="7.6 秘密管理與機器憑證治理" data-link-desc="以問題驅動方式整理 secret、token、key 與機器身份治理">7.8 secrets 與機器憑證治理</a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。</li>
<li><strong>演練 / 控制落地</strong>：<a href="/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/credential-hygiene-pattern/" data-link-title="Credential Hygiene Pattern" data-link-desc="定義 credential、MFA、輪替、infostealer 監控與 network boundary 的共同基線">Credential hygiene pattern</a> —— 把樣式轉成 token 治理欄位與輪替演練。</li>
<li><strong>跨章交接</strong>：<a href="/blog/backend/04-observability/" data-link-title="模組四：可觀測性平台" data-link-desc="整理 log、metric、trace、dashboard 與 alert 的後端操作實務">backend/04-observability</a> 的第三方整合監測、<a href="/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform</a> 的部署 token 治理。</li>
</ul>
<p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。</p>
<h2 id="來源">來源</h2>
<table>
  <thead>
      <tr>
          <th>來源</th>
          <th>類型</th>
          <th>可引用範圍</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="https://github.blog/news-insights/company-news/security-alert-stolen-oauth-user-tokens/">github.blog</a></td>
          <td>官方</td>
          <td>OAuth token 被竊起點、影響組織範圍、初步處置時序</td>
      </tr>
      <tr>
          <td><a href="https://github.blog/2022-12-08-notice-of-security-incident/">github.blog</a></td>
          <td>官方延伸</td>
          <td>後續事件、跨整合影響評估</td>
      </tr>
      <tr>
          <td><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-320a">cisa.gov</a></td>
          <td>政府/監管</td>
          <td>跨組織 OAuth abuse / federated chain TTP</td>
      </tr>
  </tbody>
</table>
]]></content:encoded></item><item><title>7.R7.2.3 CircleCI 2023：CI secrets 輪替壓力</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/circleci-2023-secrets-rotation/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/circleci-2023-secrets-rotation/</guid><description>&lt;h2 id="事故摘要">事故摘要&lt;/h2>
&lt;p>2023 年 1 月，CircleCI 公告指出攻擊者透過員工端點入侵影響生產環境，並要求客戶輪替 secrets。&lt;/p>
&lt;p>&lt;strong>本案例的演示焦點&lt;/strong>：CI 平台側被入侵 → 客戶 secrets 整批暴露 → 下游全面輪替壓力的 secrets-blast-radius 事件。重點在 secrets 範圍 / 輪替成本與 inventory 的設計。&lt;/p>
&lt;h2 id="攻擊路徑">攻擊路徑&lt;/h2>
&lt;ol>
&lt;li>以端點路徑取得平台側存取能力。&lt;/li>
&lt;li>觸及集中管理的 secrets。&lt;/li>
&lt;li>把風險擴散到客戶部署環境。&lt;/li>
&lt;/ol>
&lt;h2 id="失效控制面">失效控制面&lt;/h2>
&lt;ul>
&lt;li>CI secrets 集中化且缺少分域隔離。&lt;/li>
&lt;li>輪替流程成本高，導致執行延遲。&lt;/li>
&lt;li>客戶端難以快速判斷最小必要輪替範圍。&lt;/li>
&lt;/ul>
&lt;h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼&lt;/h2>
&lt;p>若缺少「分批輪替與優先級排序」流程，團隊要在壓力下做全面輪替，容易造成服務中斷或遺漏。&lt;/p>
&lt;h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點&lt;/h2>
&lt;ul>
&lt;li>發布前：定義 secrets 分級與依賴地圖（依 blast radius 分層、不只依名稱），mechanism 是讓事件期間的輪替能依風險排序、不靠 ad-hoc 判斷。&lt;/li>
&lt;li>日常：定期演練 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/rollback-strategy/" data-link-title="Rollback Strategy" data-link-desc="說明事故期間如何判斷回滾、回切與暫停變更">rollback strategy&lt;/a> 與 secrets 更新（含「假設整個 CI vendor 受損」的 fire drill）。&lt;/li>
&lt;li>事故中：按分級快速輪替、並記錄 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/mttr/" data-link-title="MTTR" data-link-desc="說明平均修復時間如何作為事故處理能力指標">MTTR&lt;/a>（前提是事先有 secrets inventory 跟 owner mapping）。&lt;/li>
&lt;/ul>
&lt;h2 id="從本案例到實作的-chain">從本案例到實作的 chain&lt;/h2>
&lt;p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>控制面&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/secrets-and-machine-credential-governance/" data-link-title="7.6 秘密管理與機器憑證治理" data-link-desc="以問題驅動方式整理 secret、token、key 與機器身份治理">7.8 secrets 與機器憑證治理&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任&lt;/a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。&lt;/li>
&lt;li>&lt;strong>演練 / 控制落地&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/credential-hygiene-pattern/" data-link-title="Credential Hygiene Pattern" data-link-desc="定義 credential、MFA、輪替、infostealer 監控與 network boundary 的共同基線">Credential hygiene pattern&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/recovery-readiness-pattern/" data-link-title="Recovery Readiness Pattern" data-link-desc="定義長時間 outage 復原、備援存取與外部依賴溝通的共同欄位">Recovery readiness pattern&lt;/a> —— 把樣式轉成輪替演練、credential 治理與回復欄位。&lt;/li>
&lt;li>&lt;strong>跨章交接&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform&lt;/a> 的 CI/CD 機制、&lt;a href="https://tarrragon.github.io/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response&lt;/a> 的止血與回復順序。&lt;/li>
&lt;/ul>
&lt;p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。&lt;/p>
&lt;h2 id="來源">來源&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>來源&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;th>可引用範圍&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;a href="https://circleci.com/blog/jan-4-2023-incident-report/">circleci.com&lt;/a>&lt;/td>
 &lt;td>官方&lt;/td>
 &lt;td>攻擊入口、影響範圍、初步輪替建議時序&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://circleci.com/blog/january-12-2023-security-alert/">circleci.com&lt;/a>&lt;/td>
 &lt;td>官方延伸&lt;/td>
 &lt;td>post-incident 細節、root cause、跨客戶影響評估&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-320a">cisa.gov&lt;/a>&lt;/td>
 &lt;td>政府/監管&lt;/td>
 &lt;td>跨組織 social engineering / endpoint compromise TTP&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description><content:encoded><![CDATA[<h2 id="事故摘要">事故摘要</h2>
<p>2023 年 1 月，CircleCI 公告指出攻擊者透過員工端點入侵影響生產環境，並要求客戶輪替 secrets。</p>
<p><strong>本案例的演示焦點</strong>：CI 平台側被入侵 → 客戶 secrets 整批暴露 → 下游全面輪替壓力的 secrets-blast-radius 事件。重點在 secrets 範圍 / 輪替成本與 inventory 的設計。</p>
<h2 id="攻擊路徑">攻擊路徑</h2>
<ol>
<li>以端點路徑取得平台側存取能力。</li>
<li>觸及集中管理的 secrets。</li>
<li>把風險擴散到客戶部署環境。</li>
</ol>
<h2 id="失效控制面">失效控制面</h2>
<ul>
<li>CI secrets 集中化且缺少分域隔離。</li>
<li>輪替流程成本高，導致執行延遲。</li>
<li>客戶端難以快速判斷最小必要輪替範圍。</li>
</ul>
<h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼</h2>
<p>若缺少「分批輪替與優先級排序」流程，團隊要在壓力下做全面輪替，容易造成服務中斷或遺漏。</p>
<h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點</h2>
<ul>
<li>發布前：定義 secrets 分級與依賴地圖（依 blast radius 分層、不只依名稱），mechanism 是讓事件期間的輪替能依風險排序、不靠 ad-hoc 判斷。</li>
<li>日常：定期演練 <a href="/blog/backend/knowledge-cards/rollback-strategy/" data-link-title="Rollback Strategy" data-link-desc="說明事故期間如何判斷回滾、回切與暫停變更">rollback strategy</a> 與 secrets 更新（含「假設整個 CI vendor 受損」的 fire drill）。</li>
<li>事故中：按分級快速輪替、並記錄 <a href="/blog/backend/knowledge-cards/mttr/" data-link-title="MTTR" data-link-desc="說明平均修復時間如何作為事故處理能力指標">MTTR</a>（前提是事先有 secrets inventory 跟 owner mapping）。</li>
</ul>
<h2 id="從本案例到實作的-chain">從本案例到實作的 chain</h2>
<p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：</p>
<ul>
<li><strong>控制面</strong>：<a href="/blog/backend/07-security-data-protection/secrets-and-machine-credential-governance/" data-link-title="7.6 秘密管理與機器憑證治理" data-link-desc="以問題驅動方式整理 secret、token、key 與機器身份治理">7.8 secrets 與機器憑證治理</a> + <a href="/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任</a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。</li>
<li><strong>演練 / 控制落地</strong>：<a href="/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/credential-hygiene-pattern/" data-link-title="Credential Hygiene Pattern" data-link-desc="定義 credential、MFA、輪替、infostealer 監控與 network boundary 的共同基線">Credential hygiene pattern</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/recovery-readiness-pattern/" data-link-title="Recovery Readiness Pattern" data-link-desc="定義長時間 outage 復原、備援存取與外部依賴溝通的共同欄位">Recovery readiness pattern</a> —— 把樣式轉成輪替演練、credential 治理與回復欄位。</li>
<li><strong>跨章交接</strong>：<a href="/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform</a> 的 CI/CD 機制、<a href="/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response</a> 的止血與回復順序。</li>
</ul>
<p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。</p>
<h2 id="來源">來源</h2>
<table>
  <thead>
      <tr>
          <th>來源</th>
          <th>類型</th>
          <th>可引用範圍</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="https://circleci.com/blog/jan-4-2023-incident-report/">circleci.com</a></td>
          <td>官方</td>
          <td>攻擊入口、影響範圍、初步輪替建議時序</td>
      </tr>
      <tr>
          <td><a href="https://circleci.com/blog/january-12-2023-security-alert/">circleci.com</a></td>
          <td>官方延伸</td>
          <td>post-incident 細節、root cause、跨客戶影響評估</td>
      </tr>
      <tr>
          <td><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-320a">cisa.gov</a></td>
          <td>政府/監管</td>
          <td>跨組織 social engineering / endpoint compromise TTP</td>
      </tr>
  </tbody>
</table>
]]></content:encoded></item><item><title>7.R7.2.4 XZ Backdoor 2024：開源供應鏈長期滲透</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/xz-backdoor-2024-open-source-supply-chain/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/xz-backdoor-2024-open-source-supply-chain/</guid><description>&lt;h2 id="事故摘要">事故摘要&lt;/h2>
&lt;p>2024 年 3 月，XZ Utils 事件揭露開源供應鏈可被長期滲透並在釋出流程埋入後門，對基礎設施信任鏈造成直接衝擊。&lt;/p>
&lt;p>&lt;strong>本案例的演示焦點&lt;/strong>：開源 maintainer 角色被長期社交滲透 → 釋出流程嵌入後門 → 跨 Linux 發行版下游擴散的 human-supply-chain 攻擊。重點在 maintainer trust governance、跟 build pipeline / artifact provenance 攻擊形成互補。&lt;/p>
&lt;h2 id="攻擊路徑">攻擊路徑&lt;/h2>
&lt;ol>
&lt;li>長期滲透維護流程。&lt;/li>
&lt;li>在釋出包鏈條加入惡意邏輯。&lt;/li>
&lt;li>透過下游發行與部署流程擴散風險。&lt;/li>
&lt;/ol>
&lt;h2 id="失效控制面">失效控制面&lt;/h2>
&lt;ul>
&lt;li>開源維護與釋出治理缺少獨立覆核。&lt;/li>
&lt;li>下游對上游釋出信任過高。&lt;/li>
&lt;li>供應鏈檢測流程常延後辨識異常組件行為。&lt;/li>
&lt;/ul>
&lt;h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼&lt;/h2>
&lt;p>若缺少「上游重大事件觸發的版本凍結與風險重評」，下游仍可能將高風險版本推進正式環境。&lt;/p>
&lt;h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點&lt;/h2>
&lt;ul>
&lt;li>共同基線：以 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/runbook/" data-link-title="Runbook" data-link-desc="說明 runbook 如何把事故判斷與操作步驟標準化">runbook&lt;/a> 與 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/incident-timeline/" data-link-title="Incident Timeline" data-link-desc="說明事故時間線如何支援判斷、溝通與復盤">incident timeline&lt;/a> 固定記錄觸發條件與處置節奏。&lt;/li>
&lt;li>發布前：關鍵依賴建立雙人覆核與來源驗證（不只 hash 比對、檢查 release-tarball 跟 git tag 的差異），mechanism 是讓 maintainer 單點失守不會直接通到下游。&lt;/li>
&lt;li>日常：維護套件清單與影響面地圖（含 transitive 依賴、build-time vs runtime 區分）。&lt;/li>
&lt;li>事故中：啟動版本凍結、替代版本切換與復測流程（前提是事先有「該套件 unavailable 也能 build」的 fallback 評估）。&lt;/li>
&lt;/ul>
&lt;h2 id="從本案例到實作的-chain">從本案例到實作的 chain&lt;/h2>
&lt;p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>控制面&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任&lt;/a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。&lt;/li>
&lt;li>&lt;strong>演練 / 控制落地&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/recovery-readiness-pattern/" data-link-title="Recovery Readiness Pattern" data-link-desc="定義長時間 outage 復原、備援存取與外部依賴溝通的共同欄位">Recovery readiness pattern&lt;/a> —— 把樣式轉成 SBOM 演練、版本凍結欄位。&lt;/li>
&lt;li>&lt;strong>跨章交接&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform&lt;/a> 的依賴治理、&lt;a href="https://tarrragon.github.io/blog/backend/06-reliability/" data-link-title="模組六：可靠性驗證流程" data-link-desc="用 SRE 領域詞彙建問題節點、以服務級案例庫累積驗證脈絡，先建概念與案例庫再進實作交接">backend/06-reliability&lt;/a> 的變更風險控制。&lt;/li>
&lt;/ul>
&lt;p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。&lt;/p>
&lt;h2 id="來源">來源&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>來源&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;th>可引用範圍&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;a href="http://www.openwall.com/lists/oss-security/2024/03/29/4">openwall.com&lt;/a>&lt;/td>
 &lt;td>官方&lt;/td>
 &lt;td>第一手揭露、後門技術細節、發現時序&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://www.cisa.gov/news-events/alerts/2024/03/29/reported-supply-chain-compromise-affecting-xz-utils-data-compression-library-cve-2024-3094">cisa.gov&lt;/a>&lt;/td>
 &lt;td>政府/監管&lt;/td>
 &lt;td>受影響範圍、跨機構處置建議&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2024-3094">nvd.nist.gov/CVE-2024-3094&lt;/a>&lt;/td>
 &lt;td>技術分析&lt;/td>
 &lt;td>CVE 細節、build-time injection 機制&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description><content:encoded><![CDATA[<h2 id="事故摘要">事故摘要</h2>
<p>2024 年 3 月，XZ Utils 事件揭露開源供應鏈可被長期滲透並在釋出流程埋入後門，對基礎設施信任鏈造成直接衝擊。</p>
<p><strong>本案例的演示焦點</strong>：開源 maintainer 角色被長期社交滲透 → 釋出流程嵌入後門 → 跨 Linux 發行版下游擴散的 human-supply-chain 攻擊。重點在 maintainer trust governance、跟 build pipeline / artifact provenance 攻擊形成互補。</p>
<h2 id="攻擊路徑">攻擊路徑</h2>
<ol>
<li>長期滲透維護流程。</li>
<li>在釋出包鏈條加入惡意邏輯。</li>
<li>透過下游發行與部署流程擴散風險。</li>
</ol>
<h2 id="失效控制面">失效控制面</h2>
<ul>
<li>開源維護與釋出治理缺少獨立覆核。</li>
<li>下游對上游釋出信任過高。</li>
<li>供應鏈檢測流程常延後辨識異常組件行為。</li>
</ul>
<h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼</h2>
<p>若缺少「上游重大事件觸發的版本凍結與風險重評」，下游仍可能將高風險版本推進正式環境。</p>
<h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點</h2>
<ul>
<li>共同基線：以 <a href="/blog/backend/knowledge-cards/runbook/" data-link-title="Runbook" data-link-desc="說明 runbook 如何把事故判斷與操作步驟標準化">runbook</a> 與 <a href="/blog/backend/knowledge-cards/incident-timeline/" data-link-title="Incident Timeline" data-link-desc="說明事故時間線如何支援判斷、溝通與復盤">incident timeline</a> 固定記錄觸發條件與處置節奏。</li>
<li>發布前：關鍵依賴建立雙人覆核與來源驗證（不只 hash 比對、檢查 release-tarball 跟 git tag 的差異），mechanism 是讓 maintainer 單點失守不會直接通到下游。</li>
<li>日常：維護套件清單與影響面地圖（含 transitive 依賴、build-time vs runtime 區分）。</li>
<li>事故中：啟動版本凍結、替代版本切換與復測流程（前提是事先有「該套件 unavailable 也能 build」的 fallback 評估）。</li>
</ul>
<h2 id="從本案例到實作的-chain">從本案例到實作的 chain</h2>
<p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：</p>
<ul>
<li><strong>控制面</strong>：<a href="/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任</a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。</li>
<li><strong>演練 / 控制落地</strong>：<a href="/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/recovery-readiness-pattern/" data-link-title="Recovery Readiness Pattern" data-link-desc="定義長時間 outage 復原、備援存取與外部依賴溝通的共同欄位">Recovery readiness pattern</a> —— 把樣式轉成 SBOM 演練、版本凍結欄位。</li>
<li><strong>跨章交接</strong>：<a href="/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform</a> 的依賴治理、<a href="/blog/backend/06-reliability/" data-link-title="模組六：可靠性驗證流程" data-link-desc="用 SRE 領域詞彙建問題節點、以服務級案例庫累積驗證脈絡，先建概念與案例庫再進實作交接">backend/06-reliability</a> 的變更風險控制。</li>
</ul>
<p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。</p>
<h2 id="來源">來源</h2>
<table>
  <thead>
      <tr>
          <th>來源</th>
          <th>類型</th>
          <th>可引用範圍</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="http://www.openwall.com/lists/oss-security/2024/03/29/4">openwall.com</a></td>
          <td>官方</td>
          <td>第一手揭露、後門技術細節、發現時序</td>
      </tr>
      <tr>
          <td><a href="https://www.cisa.gov/news-events/alerts/2024/03/29/reported-supply-chain-compromise-affecting-xz-utils-data-compression-library-cve-2024-3094">cisa.gov</a></td>
          <td>政府/監管</td>
          <td>受影響範圍、跨機構處置建議</td>
      </tr>
      <tr>
          <td><a href="https://nvd.nist.gov/vuln/detail/CVE-2024-3094">nvd.nist.gov/CVE-2024-3094</a></td>
          <td>技術分析</td>
          <td>CVE 細節、build-time injection 機制</td>
      </tr>
  </tbody>
</table>
]]></content:encoded></item><item><title>7.R7.2.5 TeamCity 2023：CI 入口漏洞與交付鏈風險</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/teamcity-cve-2023-42793-ci-entrypoint/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/teamcity-cve-2023-42793-ci-entrypoint/</guid><description>&lt;h2 id="事故摘要">事故摘要&lt;/h2>
&lt;p>TeamCity CVE-2023-42793 事件顯示 CI 平台入口漏洞會直接衝擊建置與交付信任鏈。&lt;/p>
&lt;p>&lt;strong>本案例的演示焦點&lt;/strong>：CI 管理介面 auth bypass → build / artifact 接管 → 下游交付污染的 CI-entrypoint supply-chain 鏈。跟 2024 雙漏洞事件互補、共同說明 CI 平台暴露面治理。&lt;/p>
&lt;h2 id="攻擊路徑">攻擊路徑&lt;/h2>
&lt;ol>
&lt;li>掃描並利用 TeamCity 管理入口漏洞。&lt;/li>
&lt;li>取得 CI 管理權限或執行能力。&lt;/li>
&lt;li>影響 build artifact 與下游部署流程。&lt;/li>
&lt;/ol>
&lt;h2 id="失效控制面">失效控制面&lt;/h2>
&lt;ul>
&lt;li>CI 管理介面暴露面過高。&lt;/li>
&lt;li>建置輸出完整性驗證不足。&lt;/li>
&lt;li>平台事件與下游部署凍結流程連動不足。&lt;/li>
&lt;/ul>
&lt;h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼&lt;/h2>
&lt;p>若少了「CI 平台事件觸發部署凍結」步驟，受污染 artifact 可能持續流向正式環境。&lt;/p>
&lt;h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點&lt;/h2>
&lt;ul>
&lt;li>發布前：建立 CI 管理入口隔離與最小存取權限（內網 only、強制 MFA），mechanism 是讓 entrypoint 漏洞先碰到網段邊界。&lt;/li>
&lt;li>日常：對 build pipeline 建立 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/symptom-based-alert/" data-link-title="Symptom-Based Alert" data-link-desc="說明告警應優先偵測使用者可感知症狀">symptom-based alert&lt;/a>（unauthorized config change、異常 build trigger）。&lt;/li>
&lt;li>事故中：暫停發佈、驗證 artifact、按優先級恢復（前提是 artifact 有 build provenance、可追溯產生時間）。&lt;/li>
&lt;/ul>
&lt;h2 id="從本案例到實作的-chain">從本案例到實作的 chain&lt;/h2>
&lt;p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>控制面&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">7.3 入口與伺服端保護&lt;/a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。&lt;/li>
&lt;li>&lt;strong>演練 / 控制落地&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern&lt;/a> —— 把樣式轉成 CI 凍結演練、漏洞處理欄位。&lt;/li>
&lt;li>&lt;strong>跨章交接&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform&lt;/a> 的 CI/CD 信任鏈、&lt;a href="https://tarrragon.github.io/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response&lt;/a> 的凍結與回復流程。&lt;/li>
&lt;/ul>
&lt;p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。&lt;/p>
&lt;h2 id="來源">來源&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>來源&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;th>可引用範圍&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;a href="https://blog.jetbrains.com/teamcity/2023/09/cve-2023-42793-vulnerability-post-mortem">blog.jetbrains.com&lt;/a>&lt;/td>
 &lt;td>官方&lt;/td>
 &lt;td>受影響版本、漏洞細節、修補時序&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-347a">cisa.gov&lt;/a>&lt;/td>
 &lt;td>政府/監管&lt;/td>
 &lt;td>受影響範圍、跨機構處置建議&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2023-42793">nvd.nist.gov/CVE-2023-42793&lt;/a>&lt;/td>
 &lt;td>技術分析&lt;/td>
 &lt;td>CVE 細節、auth bypass 機制&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description><content:encoded><![CDATA[<h2 id="事故摘要">事故摘要</h2>
<p>TeamCity CVE-2023-42793 事件顯示 CI 平台入口漏洞會直接衝擊建置與交付信任鏈。</p>
<p><strong>本案例的演示焦點</strong>：CI 管理介面 auth bypass → build / artifact 接管 → 下游交付污染的 CI-entrypoint supply-chain 鏈。跟 2024 雙漏洞事件互補、共同說明 CI 平台暴露面治理。</p>
<h2 id="攻擊路徑">攻擊路徑</h2>
<ol>
<li>掃描並利用 TeamCity 管理入口漏洞。</li>
<li>取得 CI 管理權限或執行能力。</li>
<li>影響 build artifact 與下游部署流程。</li>
</ol>
<h2 id="失效控制面">失效控制面</h2>
<ul>
<li>CI 管理介面暴露面過高。</li>
<li>建置輸出完整性驗證不足。</li>
<li>平台事件與下游部署凍結流程連動不足。</li>
</ul>
<h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼</h2>
<p>若少了「CI 平台事件觸發部署凍結」步驟，受污染 artifact 可能持續流向正式環境。</p>
<h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點</h2>
<ul>
<li>發布前：建立 CI 管理入口隔離與最小存取權限（內網 only、強制 MFA），mechanism 是讓 entrypoint 漏洞先碰到網段邊界。</li>
<li>日常：對 build pipeline 建立 <a href="/blog/backend/knowledge-cards/symptom-based-alert/" data-link-title="Symptom-Based Alert" data-link-desc="說明告警應優先偵測使用者可感知症狀">symptom-based alert</a>（unauthorized config change、異常 build trigger）。</li>
<li>事故中：暫停發佈、驗證 artifact、按優先級恢復（前提是 artifact 有 build provenance、可追溯產生時間）。</li>
</ul>
<h2 id="從本案例到實作的-chain">從本案例到實作的 chain</h2>
<p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：</p>
<ul>
<li><strong>控制面</strong>：<a href="/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任</a> + <a href="/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">7.3 入口與伺服端保護</a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。</li>
<li><strong>演練 / 控制落地</strong>：<a href="/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern</a> —— 把樣式轉成 CI 凍結演練、漏洞處理欄位。</li>
<li><strong>跨章交接</strong>：<a href="/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform</a> 的 CI/CD 信任鏈、<a href="/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response</a> 的凍結與回復流程。</li>
</ul>
<p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。</p>
<h2 id="來源">來源</h2>
<table>
  <thead>
      <tr>
          <th>來源</th>
          <th>類型</th>
          <th>可引用範圍</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="https://blog.jetbrains.com/teamcity/2023/09/cve-2023-42793-vulnerability-post-mortem">blog.jetbrains.com</a></td>
          <td>官方</td>
          <td>受影響版本、漏洞細節、修補時序</td>
      </tr>
      <tr>
          <td><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-347a">cisa.gov</a></td>
          <td>政府/監管</td>
          <td>受影響範圍、跨機構處置建議</td>
      </tr>
      <tr>
          <td><a href="https://nvd.nist.gov/vuln/detail/CVE-2023-42793">nvd.nist.gov/CVE-2023-42793</a></td>
          <td>技術分析</td>
          <td>CVE 細節、auth bypass 機制</td>
      </tr>
  </tbody>
</table>
]]></content:encoded></item><item><title>7.R7.2.6 ScreenConnect 2024：RMM 平台入口與下游擴散</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/screenconnect-cve-2024-1709-rmm-entrypoint/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/screenconnect-cve-2024-1709-rmm-entrypoint/</guid><description>&lt;h2 id="事故摘要">事故摘要&lt;/h2>
&lt;p>ConnectWise ScreenConnect CVE-2024-1709 事件突顯 RMM 平台事件會沿著維運供應鏈向多客戶擴散。&lt;/p>
&lt;p>&lt;strong>本案例的演示焦點&lt;/strong>：RMM 平台 auth bypass → 維運通道接管 → 客戶環境同時受影響的 fan-out 模式。跟 Kaseya 類似但 entrypoint 是 web admin 認證繞過、屬 entrypoint-side supply-chain 變體。&lt;/p>
&lt;h2 id="攻擊路徑">攻擊路徑&lt;/h2>
&lt;ol>
&lt;li>利用 RMM 平台漏洞取得管理能力。&lt;/li>
&lt;li>接觸維運節點與客戶端連線能力。&lt;/li>
&lt;li>透過既有信任路徑擴大影響範圍。&lt;/li>
&lt;/ol>
&lt;h2 id="失效控制面">失效控制面&lt;/h2>
&lt;ul>
&lt;li>RMM 節點權限集中且邊界分離不足。&lt;/li>
&lt;li>客戶環境缺少獨立限制與跳板治理。&lt;/li>
&lt;li>事件時的連線停用與重授權流程準備度不足。&lt;/li>
&lt;/ul>
&lt;h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼&lt;/h2>
&lt;p>若少了「RMM 事件後連線總開關」步驟，攻擊者可沿既有管理通道持續操作下游資產。&lt;/p>
&lt;h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點&lt;/h2>
&lt;ul>
&lt;li>共同基線：以 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/runbook/" data-link-title="Runbook" data-link-desc="說明 runbook 如何把事故判斷與操作步驟標準化">runbook&lt;/a> 與 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/incident-timeline/" data-link-title="Incident Timeline" data-link-desc="說明事故時間線如何支援判斷、溝通與復盤">incident timeline&lt;/a> 固定記錄觸發條件與處置節奏。&lt;/li>
&lt;li>發布前：將 RMM 權限與客戶域做嚴格分域（管理介面強制 MFA + 來源限制、客戶側端點不直連管理平面），mechanism 是讓平台漏洞不直接通到客戶資產。&lt;/li>
&lt;li>日常：建立遠端管理連線基線與稽核節奏（哪個 operator 在哪個時段對哪個客戶進行哪類操作的 audit trail）。&lt;/li>
&lt;li>事故中：先關閉高風險連線、再分批重啟授權（前提是事先有「總開關」設計、不臨時找)。&lt;/li>
&lt;/ul>
&lt;h2 id="從本案例到實作的-chain">從本案例到實作的 chain&lt;/h2>
&lt;p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>控制面&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">7.3 入口與伺服端保護&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任&lt;/a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。&lt;/li>
&lt;li>&lt;strong>演練 / 控制落地&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/control-owner-pattern/" data-link-title="Control Owner Pattern" data-link-desc="定義高風險控制面如何配置 owner、協作角色、決策角色與升級路徑">Control owner pattern&lt;/a> —— 把樣式轉成漏洞處理、跨組織 owner 分工。&lt;/li>
&lt;li>&lt;strong>跨章交接&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response&lt;/a> 的跨團隊升級路由、&lt;a href="https://tarrragon.github.io/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform&lt;/a> 的維運平台治理。&lt;/li>
&lt;/ul>
&lt;p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。&lt;/p>
&lt;h2 id="來源">來源&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>來源&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;th>可引用範圍&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;a href="https://www.connectwise.com/company/trust/security-bulletins/connectwise-screenconnect-23.9.8">connectwise.com&lt;/a>&lt;/td>
 &lt;td>官方&lt;/td>
 &lt;td>受影響版本、漏洞細節、修補節奏&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://www.cisa.gov/news-events/alerts/2024/02/22/cisa-adds-one-known-exploited-connectwise-vulnerability-cve-2024-1709-catalog">cisa.gov&lt;/a>&lt;/td>
 &lt;td>政府/監管&lt;/td>
 &lt;td>KEV 列入、跨機構處置建議&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2024-1709">nvd.nist.gov/CVE-2024-1709&lt;/a>&lt;/td>
 &lt;td>技術分析&lt;/td>
 &lt;td>CVE 細節、auth bypass 機制&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description><content:encoded><![CDATA[<h2 id="事故摘要">事故摘要</h2>
<p>ConnectWise ScreenConnect CVE-2024-1709 事件突顯 RMM 平台事件會沿著維運供應鏈向多客戶擴散。</p>
<p><strong>本案例的演示焦點</strong>：RMM 平台 auth bypass → 維運通道接管 → 客戶環境同時受影響的 fan-out 模式。跟 Kaseya 類似但 entrypoint 是 web admin 認證繞過、屬 entrypoint-side supply-chain 變體。</p>
<h2 id="攻擊路徑">攻擊路徑</h2>
<ol>
<li>利用 RMM 平台漏洞取得管理能力。</li>
<li>接觸維運節點與客戶端連線能力。</li>
<li>透過既有信任路徑擴大影響範圍。</li>
</ol>
<h2 id="失效控制面">失效控制面</h2>
<ul>
<li>RMM 節點權限集中且邊界分離不足。</li>
<li>客戶環境缺少獨立限制與跳板治理。</li>
<li>事件時的連線停用與重授權流程準備度不足。</li>
</ul>
<h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼</h2>
<p>若少了「RMM 事件後連線總開關」步驟，攻擊者可沿既有管理通道持續操作下游資產。</p>
<h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點</h2>
<ul>
<li>共同基線：以 <a href="/blog/backend/knowledge-cards/runbook/" data-link-title="Runbook" data-link-desc="說明 runbook 如何把事故判斷與操作步驟標準化">runbook</a> 與 <a href="/blog/backend/knowledge-cards/incident-timeline/" data-link-title="Incident Timeline" data-link-desc="說明事故時間線如何支援判斷、溝通與復盤">incident timeline</a> 固定記錄觸發條件與處置節奏。</li>
<li>發布前：將 RMM 權限與客戶域做嚴格分域（管理介面強制 MFA + 來源限制、客戶側端點不直連管理平面），mechanism 是讓平台漏洞不直接通到客戶資產。</li>
<li>日常：建立遠端管理連線基線與稽核節奏（哪個 operator 在哪個時段對哪個客戶進行哪類操作的 audit trail）。</li>
<li>事故中：先關閉高風險連線、再分批重啟授權（前提是事先有「總開關」設計、不臨時找)。</li>
</ul>
<h2 id="從本案例到實作的-chain">從本案例到實作的 chain</h2>
<p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：</p>
<ul>
<li><strong>控制面</strong>：<a href="/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">7.3 入口與伺服端保護</a> + <a href="/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任</a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。</li>
<li><strong>演練 / 控制落地</strong>：<a href="/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/control-owner-pattern/" data-link-title="Control Owner Pattern" data-link-desc="定義高風險控制面如何配置 owner、協作角色、決策角色與升級路徑">Control owner pattern</a> —— 把樣式轉成漏洞處理、跨組織 owner 分工。</li>
<li><strong>跨章交接</strong>：<a href="/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response</a> 的跨團隊升級路由、<a href="/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform</a> 的維運平台治理。</li>
</ul>
<p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。</p>
<h2 id="來源">來源</h2>
<table>
  <thead>
      <tr>
          <th>來源</th>
          <th>類型</th>
          <th>可引用範圍</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="https://www.connectwise.com/company/trust/security-bulletins/connectwise-screenconnect-23.9.8">connectwise.com</a></td>
          <td>官方</td>
          <td>受影響版本、漏洞細節、修補節奏</td>
      </tr>
      <tr>
          <td><a href="https://www.cisa.gov/news-events/alerts/2024/02/22/cisa-adds-one-known-exploited-connectwise-vulnerability-cve-2024-1709-catalog">cisa.gov</a></td>
          <td>政府/監管</td>
          <td>KEV 列入、跨機構處置建議</td>
      </tr>
      <tr>
          <td><a href="https://nvd.nist.gov/vuln/detail/CVE-2024-1709">nvd.nist.gov/CVE-2024-1709</a></td>
          <td>技術分析</td>
          <td>CVE 細節、auth bypass 機制</td>
      </tr>
  </tbody>
</table>
]]></content:encoded></item><item><title>7.R7.2.7 Log4Shell 2021：共用元件風險與修補鏈</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/log4shell-cve-2021-44228-component-chain/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/log4shell-cve-2021-44228-component-chain/</guid><description>&lt;h2 id="事故摘要">事故摘要&lt;/h2>
&lt;p>Log4Shell 事件說明共用元件漏洞可在短時間內跨服務擴散，形成大規模修補與驗證壓力。&lt;/p>
&lt;p>&lt;strong>本案例的演示焦點&lt;/strong>：共用元件 zero-day → 跨服務同時暴露 → SBOM / 依賴 inventory 緊急檢索 → 大規模分批修補的 transitive-dependency 危機。重點在依賴可見性與分批修補節奏。&lt;/p>
&lt;h2 id="攻擊路徑">攻擊路徑&lt;/h2>
&lt;ol>
&lt;li>攻擊者偵測含漏洞元件的可達服務。&lt;/li>
&lt;li>透過日誌處理路徑觸發遠端執行。&lt;/li>
&lt;li>沿著相依資產清單擴大利用範圍。&lt;/li>
&lt;/ol>
&lt;h2 id="失效控制面">失效控制面&lt;/h2>
&lt;ul>
&lt;li>相依套件盤點與版本可見性不足。&lt;/li>
&lt;li>修補節奏缺少業務優先級路由。&lt;/li>
&lt;li>修補完成後驗證流程覆蓋不足。&lt;/li>
&lt;/ul>
&lt;h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼&lt;/h2>
&lt;p>若少了「修補後主動復測」步驟，團隊會把版本更新等同風險關閉，留下可利用殘餘面。&lt;/p>
&lt;h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點&lt;/h2>
&lt;ul>
&lt;li>發布前：維護關鍵套件 SBOM 與影響面對照（含 transitive 依賴、不只直接 import），mechanism 是讓事件期間能在分鐘級回答「我們有沒有在用」。&lt;/li>
&lt;li>日常：對高風險元件建立固定巡檢節奏（component criticality + reachability 分層、不全面平均掃）。&lt;/li>
&lt;li>事故中：按服務層級修補並追蹤 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/mttr/" data-link-title="MTTR" data-link-desc="說明平均修復時間如何作為事故處理能力指標">MTTR&lt;/a>（前提是修補後有 functional + security 雙重 verify、不只 build pass）。&lt;/li>
&lt;/ul>
&lt;h2 id="從本案例到實作的-chain">從本案例到實作的 chain&lt;/h2>
&lt;p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>控制面&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任&lt;/a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。&lt;/li>
&lt;li>&lt;strong>演練 / 控制落地&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/recovery-readiness-pattern/" data-link-title="Recovery Readiness Pattern" data-link-desc="定義長時間 outage 復原、備援存取與外部依賴溝通的共同欄位">Recovery readiness pattern&lt;/a> —— 把樣式轉成 SBOM 演練、漏洞分批處理欄位。&lt;/li>
&lt;li>&lt;strong>跨章交接&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform&lt;/a> 的依賴治理與版本策略、&lt;a href="https://tarrragon.github.io/blog/backend/06-reliability/" data-link-title="模組六：可靠性驗證流程" data-link-desc="用 SRE 領域詞彙建問題節點、以服務級案例庫累積驗證脈絡，先建概念與案例庫再進實作交接">backend/06-reliability&lt;/a> 的回復與驗證節奏。&lt;/li>
&lt;/ul>
&lt;p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。&lt;/p>
&lt;h2 id="來源">來源&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>來源&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;th>可引用範圍&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;a href="https://logging.apache.org/log4j/2.x/security.html">logging.apache.org&lt;/a>&lt;/td>
 &lt;td>官方&lt;/td>
 &lt;td>受影響版本、修補節奏、緩解 / patch 區別&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://www.cisa.gov/news-events/news/apache-log4j-vulnerability-guidance-0">cisa.gov&lt;/a>&lt;/td>
 &lt;td>政府/監管&lt;/td>
 &lt;td>跨機構處置建議、scanning 工具清單&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2021-44228">nvd.nist.gov/CVE-2021-44228&lt;/a>&lt;/td>
 &lt;td>技術分析&lt;/td>
 &lt;td>CVE 細節、JNDI lookup 利用機制&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description><content:encoded><![CDATA[<h2 id="事故摘要">事故摘要</h2>
<p>Log4Shell 事件說明共用元件漏洞可在短時間內跨服務擴散，形成大規模修補與驗證壓力。</p>
<p><strong>本案例的演示焦點</strong>：共用元件 zero-day → 跨服務同時暴露 → SBOM / 依賴 inventory 緊急檢索 → 大規模分批修補的 transitive-dependency 危機。重點在依賴可見性與分批修補節奏。</p>
<h2 id="攻擊路徑">攻擊路徑</h2>
<ol>
<li>攻擊者偵測含漏洞元件的可達服務。</li>
<li>透過日誌處理路徑觸發遠端執行。</li>
<li>沿著相依資產清單擴大利用範圍。</li>
</ol>
<h2 id="失效控制面">失效控制面</h2>
<ul>
<li>相依套件盤點與版本可見性不足。</li>
<li>修補節奏缺少業務優先級路由。</li>
<li>修補完成後驗證流程覆蓋不足。</li>
</ul>
<h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼</h2>
<p>若少了「修補後主動復測」步驟，團隊會把版本更新等同風險關閉，留下可利用殘餘面。</p>
<h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點</h2>
<ul>
<li>發布前：維護關鍵套件 SBOM 與影響面對照（含 transitive 依賴、不只直接 import），mechanism 是讓事件期間能在分鐘級回答「我們有沒有在用」。</li>
<li>日常：對高風險元件建立固定巡檢節奏（component criticality + reachability 分層、不全面平均掃）。</li>
<li>事故中：按服務層級修補並追蹤 <a href="/blog/backend/knowledge-cards/mttr/" data-link-title="MTTR" data-link-desc="說明平均修復時間如何作為事故處理能力指標">MTTR</a>（前提是修補後有 functional + security 雙重 verify、不只 build pass）。</li>
</ul>
<h2 id="從本案例到實作的-chain">從本案例到實作的 chain</h2>
<p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：</p>
<ul>
<li><strong>控制面</strong>：<a href="/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任</a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。</li>
<li><strong>演練 / 控制落地</strong>：<a href="/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/recovery-readiness-pattern/" data-link-title="Recovery Readiness Pattern" data-link-desc="定義長時間 outage 復原、備援存取與外部依賴溝通的共同欄位">Recovery readiness pattern</a> —— 把樣式轉成 SBOM 演練、漏洞分批處理欄位。</li>
<li><strong>跨章交接</strong>：<a href="/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform</a> 的依賴治理與版本策略、<a href="/blog/backend/06-reliability/" data-link-title="模組六：可靠性驗證流程" data-link-desc="用 SRE 領域詞彙建問題節點、以服務級案例庫累積驗證脈絡，先建概念與案例庫再進實作交接">backend/06-reliability</a> 的回復與驗證節奏。</li>
</ul>
<p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。</p>
<h2 id="來源">來源</h2>
<table>
  <thead>
      <tr>
          <th>來源</th>
          <th>類型</th>
          <th>可引用範圍</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="https://logging.apache.org/log4j/2.x/security.html">logging.apache.org</a></td>
          <td>官方</td>
          <td>受影響版本、修補節奏、緩解 / patch 區別</td>
      </tr>
      <tr>
          <td><a href="https://www.cisa.gov/news-events/news/apache-log4j-vulnerability-guidance-0">cisa.gov</a></td>
          <td>政府/監管</td>
          <td>跨機構處置建議、scanning 工具清單</td>
      </tr>
      <tr>
          <td><a href="https://nvd.nist.gov/vuln/detail/CVE-2021-44228">nvd.nist.gov/CVE-2021-44228</a></td>
          <td>技術分析</td>
          <td>CVE 細節、JNDI lookup 利用機制</td>
      </tr>
  </tbody>
</table>
]]></content:encoded></item><item><title>7.R7.2.8 3CX 2023：桌面軟體更新鏈攻擊</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/3cx-2023-desktopapp-supply-chain/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/3cx-2023-desktopapp-supply-chain/</guid><description>&lt;h2 id="事故摘要">事故摘要&lt;/h2>
&lt;p>3CX 2023 事件展示桌面軟體更新鏈受攻擊後，企業端點會同步暴露於供應鏈風險。&lt;/p>
&lt;p>&lt;strong>本案例的演示焦點&lt;/strong>：桌面應用更新管道被植入 → 企業端點受信任安裝 → 端點成為後續控制節點的 build / release pipeline 上游 compromise。屬於跨平台桌面更新鏈類別、跟 server-side artifact 攻擊鏈互補。&lt;/p>
&lt;h2 id="攻擊路徑">攻擊路徑&lt;/h2>
&lt;ol>
&lt;li>攻擊者污染桌面應用程式交付流程。&lt;/li>
&lt;li>受影響版本進入企業端點。&lt;/li>
&lt;li>端點成為後續滲透與控制節點。&lt;/li>
&lt;/ol>
&lt;h2 id="失效控制面">失效控制面&lt;/h2>
&lt;ul>
&lt;li>更新來源信任缺少多重驗證。&lt;/li>
&lt;li>端點行為異常檢測與更新事件未連動。&lt;/li>
&lt;li>事件時版本凍結與替代方案準備不足。&lt;/li>
&lt;/ul>
&lt;h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼&lt;/h2>
&lt;p>若少了「供應鏈事件即凍結更新版本」步驟，受影響版本仍會在內部持續擴散。&lt;/p>
&lt;h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點&lt;/h2>
&lt;ul>
&lt;li>共同基線：以 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/runbook/" data-link-title="Runbook" data-link-desc="說明 runbook 如何把事故判斷與操作步驟標準化">runbook&lt;/a> 與 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/incident-timeline/" data-link-title="Incident Timeline" data-link-desc="說明事故時間線如何支援判斷、溝通與復盤">incident timeline&lt;/a> 固定記錄觸發條件與處置節奏。&lt;/li>
&lt;li>發布前：建立更新簽章與來源完整性檢查（簽章鏈到 build provenance、不只發行者公鑰），mechanism 是讓「合法簽章」不等於「未被植入」。&lt;/li>
&lt;li>日常：將端點異常與更新事件關聯到同一告警流程（受信任應用 spawn 異常 process / 異常網路 callback）。&lt;/li>
&lt;li>事故中：凍結版本、隔離端點、驗證恢復清單（前提是 endpoint inventory 可在事件期間快速 query 已安裝版本）。&lt;/li>
&lt;/ul>
&lt;h2 id="從本案例到實作的-chain">從本案例到實作的 chain&lt;/h2>
&lt;p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>控制面&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任&lt;/a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。&lt;/li>
&lt;li>&lt;strong>演練 / 控制落地&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/evidence-chain-pattern/" data-link-title="Evidence Chain Pattern" data-link-desc="定義事故與演練需要保存的訊號、決策、artifact、timeline 與 retention 證據">Evidence chain pattern&lt;/a> —— 把樣式轉成演練與控制欄位。&lt;/li>
&lt;li>&lt;strong>跨章交接&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform&lt;/a> 的交付鏈風險治理、&lt;a href="https://tarrragon.github.io/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response&lt;/a> 的隔離與恢復協作。&lt;/li>
&lt;/ul>
&lt;p>供應鏈類事故不對應紅隊 problem-cards（後者集中於 tenant flow / identity flow），主要 chain 直接從控制面起步。&lt;/p>
&lt;h2 id="來源">來源&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>來源&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;th>可引用範圍&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;a href="https://www.3cx.com/blog/news/security-alert-update/">3cx.com&lt;/a>&lt;/td>
 &lt;td>官方&lt;/td>
 &lt;td>受影響版本、植入時間軸、官方修補節奏&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://www.cisa.gov/news-events/alerts/2023/03/30/supply-chain-attack-against-3cxdesktopapp">cisa.gov&lt;/a>&lt;/td>
 &lt;td>政府/監管&lt;/td>
 &lt;td>受影響範圍、檢測指引&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://www.sentinelone.com/blog/smoothoperator-ongoing-campaign-trojanizes-3cxdesktopapp-in-a-supply-chain-attack/">sentinelone.com&lt;/a>&lt;/td>
 &lt;td>技術分析&lt;/td>
 &lt;td>SmoothOperator campaign TTP、後門行為特徵 telemetry&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description><content:encoded><![CDATA[<h2 id="事故摘要">事故摘要</h2>
<p>3CX 2023 事件展示桌面軟體更新鏈受攻擊後，企業端點會同步暴露於供應鏈風險。</p>
<p><strong>本案例的演示焦點</strong>：桌面應用更新管道被植入 → 企業端點受信任安裝 → 端點成為後續控制節點的 build / release pipeline 上游 compromise。屬於跨平台桌面更新鏈類別、跟 server-side artifact 攻擊鏈互補。</p>
<h2 id="攻擊路徑">攻擊路徑</h2>
<ol>
<li>攻擊者污染桌面應用程式交付流程。</li>
<li>受影響版本進入企業端點。</li>
<li>端點成為後續滲透與控制節點。</li>
</ol>
<h2 id="失效控制面">失效控制面</h2>
<ul>
<li>更新來源信任缺少多重驗證。</li>
<li>端點行為異常檢測與更新事件未連動。</li>
<li>事件時版本凍結與替代方案準備不足。</li>
</ul>
<h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼</h2>
<p>若少了「供應鏈事件即凍結更新版本」步驟，受影響版本仍會在內部持續擴散。</p>
<h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點</h2>
<ul>
<li>共同基線：以 <a href="/blog/backend/knowledge-cards/runbook/" data-link-title="Runbook" data-link-desc="說明 runbook 如何把事故判斷與操作步驟標準化">runbook</a> 與 <a href="/blog/backend/knowledge-cards/incident-timeline/" data-link-title="Incident Timeline" data-link-desc="說明事故時間線如何支援判斷、溝通與復盤">incident timeline</a> 固定記錄觸發條件與處置節奏。</li>
<li>發布前：建立更新簽章與來源完整性檢查（簽章鏈到 build provenance、不只發行者公鑰），mechanism 是讓「合法簽章」不等於「未被植入」。</li>
<li>日常：將端點異常與更新事件關聯到同一告警流程（受信任應用 spawn 異常 process / 異常網路 callback）。</li>
<li>事故中：凍結版本、隔離端點、驗證恢復清單（前提是 endpoint inventory 可在事件期間快速 query 已安裝版本）。</li>
</ul>
<h2 id="從本案例到實作的-chain">從本案例到實作的 chain</h2>
<p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：</p>
<ul>
<li><strong>控制面</strong>：<a href="/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任</a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。</li>
<li><strong>演練 / 控制落地</strong>：<a href="/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/evidence-chain-pattern/" data-link-title="Evidence Chain Pattern" data-link-desc="定義事故與演練需要保存的訊號、決策、artifact、timeline 與 retention 證據">Evidence chain pattern</a> —— 把樣式轉成演練與控制欄位。</li>
<li><strong>跨章交接</strong>：<a href="/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform</a> 的交付鏈風險治理、<a href="/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response</a> 的隔離與恢復協作。</li>
</ul>
<p>供應鏈類事故不對應紅隊 problem-cards（後者集中於 tenant flow / identity flow），主要 chain 直接從控制面起步。</p>
<h2 id="來源">來源</h2>
<table>
  <thead>
      <tr>
          <th>來源</th>
          <th>類型</th>
          <th>可引用範圍</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="https://www.3cx.com/blog/news/security-alert-update/">3cx.com</a></td>
          <td>官方</td>
          <td>受影響版本、植入時間軸、官方修補節奏</td>
      </tr>
      <tr>
          <td><a href="https://www.cisa.gov/news-events/alerts/2023/03/30/supply-chain-attack-against-3cxdesktopapp">cisa.gov</a></td>
          <td>政府/監管</td>
          <td>受影響範圍、檢測指引</td>
      </tr>
      <tr>
          <td><a href="https://www.sentinelone.com/blog/smoothoperator-ongoing-campaign-trojanizes-3cxdesktopapp-in-a-supply-chain-attack/">sentinelone.com</a></td>
          <td>技術分析</td>
          <td>SmoothOperator campaign TTP、後門行為特徵 telemetry</td>
      </tr>
  </tbody>
</table>
]]></content:encoded></item><item><title>7.R7.2.9 Kaseya VSA 2021：MSP 供應鏈擴散路徑</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/kaseya-vsa-2021-msp-ransomware-chain/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/kaseya-vsa-2021-msp-ransomware-chain/</guid><description>&lt;h2 id="事故摘要">事故摘要&lt;/h2>
&lt;p>Kaseya VSA 2021 事件指出 MSP 管理平台若失守，攻擊可沿著託管關係快速擴展到多個客戶環境。&lt;/p>
&lt;p>&lt;strong>本案例的演示焦點&lt;/strong>：MSP / RMM 管理平面被入侵 → 透過自動化能力批次下發 → 多客戶同時感染的 fan-out 供應鏈擴散。重點在「管理平面權限範圍」與「客戶分域隔離」設計。&lt;/p>
&lt;h2 id="攻擊路徑">攻擊路徑&lt;/h2>
&lt;ol>
&lt;li>攻擊管理平台入口。&lt;/li>
&lt;li>透過自動化管理能力下發惡意行為。&lt;/li>
&lt;li>連鎖影響多個下游客戶系統。&lt;/li>
&lt;/ol>
&lt;h2 id="失效控制面">失效控制面&lt;/h2>
&lt;ul>
&lt;li>管理平面與客戶環境隔離不足。&lt;/li>
&lt;li>自動化任務缺少高風險動作保護。&lt;/li>
&lt;li>多租戶事件協調流程準備不足。&lt;/li>
&lt;/ul>
&lt;h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼&lt;/h2>
&lt;p>若少了「跨客戶分批隔離」步驟，事件會在同一時間窗內形成大規模連鎖衝擊。&lt;/p>
&lt;h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點&lt;/h2>
&lt;ul>
&lt;li>共同基線：以 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/runbook/" data-link-title="Runbook" data-link-desc="說明 runbook 如何把事故判斷與操作步驟標準化">runbook&lt;/a> 與 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/incident-timeline/" data-link-title="Incident Timeline" data-link-desc="說明事故時間線如何支援判斷、溝通與復盤">incident timeline&lt;/a> 固定記錄觸發條件與處置節奏。&lt;/li>
&lt;li>發布前：限制管理平面高風險任務範圍（破壞性動作要求 multi-party approval / 批次上限），mechanism 是讓單點接管不會立刻 fan-out 到所有客戶。&lt;/li>
&lt;li>日常：建立多租戶事件通知與處置模板（含跨時區、跨法域的客戶通報路由）。&lt;/li>
&lt;li>事故中：先分域隔離、再啟動客戶側回復計畫（前提是事先有客戶分組與隔離開關）。&lt;/li>
&lt;/ul>
&lt;h2 id="從本案例到實作的-chain">從本案例到實作的 chain&lt;/h2>
&lt;p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>控制面&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/workload-identity-and-federated-trust/" data-link-title="7.10 Workload Identity 與聯邦信任邊界" data-link-desc="定義非人類身份、跨平台信任與短時憑證治理問題">7.5 工作負載身份與 federated trust&lt;/a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。&lt;/li>
&lt;li>&lt;strong>演練 / 控制落地&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/recovery-readiness-pattern/" data-link-title="Recovery Readiness Pattern" data-link-desc="定義長時間 outage 復原、備援存取與外部依賴溝通的共同欄位">Recovery readiness pattern&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern&lt;/a> —— 把樣式轉成多租戶演練、回復欄位與漏洞處理流程。&lt;/li>
&lt;li>&lt;strong>跨章交接&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response&lt;/a> 的跨組織通訊節奏、&lt;a href="https://tarrragon.github.io/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform&lt;/a> 的多租戶部署治理。&lt;/li>
&lt;/ul>
&lt;p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。&lt;/p>
&lt;h2 id="來源">來源&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>來源&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;th>可引用範圍&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;a href="https://helpdesk.kaseya.com/hc/en-gb/articles/4403440684689">helpdesk.kaseya.com&lt;/a>&lt;/td>
 &lt;td>官方&lt;/td>
 &lt;td>受影響版本、修補時序、客戶通報節奏&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa21-209a">cisa.gov&lt;/a>&lt;/td>
 &lt;td>政府/監管&lt;/td>
 &lt;td>受影響範圍、檢測指引、跨機構處置建議&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2021-30116">nvd.nist.gov/CVE-2021-30116&lt;/a>&lt;/td>
 &lt;td>技術分析&lt;/td>
 &lt;td>CVE 細節、authenticated bypass 機制&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description><content:encoded><![CDATA[<h2 id="事故摘要">事故摘要</h2>
<p>Kaseya VSA 2021 事件指出 MSP 管理平台若失守，攻擊可沿著託管關係快速擴展到多個客戶環境。</p>
<p><strong>本案例的演示焦點</strong>：MSP / RMM 管理平面被入侵 → 透過自動化能力批次下發 → 多客戶同時感染的 fan-out 供應鏈擴散。重點在「管理平面權限範圍」與「客戶分域隔離」設計。</p>
<h2 id="攻擊路徑">攻擊路徑</h2>
<ol>
<li>攻擊管理平台入口。</li>
<li>透過自動化管理能力下發惡意行為。</li>
<li>連鎖影響多個下游客戶系統。</li>
</ol>
<h2 id="失效控制面">失效控制面</h2>
<ul>
<li>管理平面與客戶環境隔離不足。</li>
<li>自動化任務缺少高風險動作保護。</li>
<li>多租戶事件協調流程準備不足。</li>
</ul>
<h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼</h2>
<p>若少了「跨客戶分批隔離」步驟，事件會在同一時間窗內形成大規模連鎖衝擊。</p>
<h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點</h2>
<ul>
<li>共同基線：以 <a href="/blog/backend/knowledge-cards/runbook/" data-link-title="Runbook" data-link-desc="說明 runbook 如何把事故判斷與操作步驟標準化">runbook</a> 與 <a href="/blog/backend/knowledge-cards/incident-timeline/" data-link-title="Incident Timeline" data-link-desc="說明事故時間線如何支援判斷、溝通與復盤">incident timeline</a> 固定記錄觸發條件與處置節奏。</li>
<li>發布前：限制管理平面高風險任務範圍（破壞性動作要求 multi-party approval / 批次上限），mechanism 是讓單點接管不會立刻 fan-out 到所有客戶。</li>
<li>日常：建立多租戶事件通知與處置模板（含跨時區、跨法域的客戶通報路由）。</li>
<li>事故中：先分域隔離、再啟動客戶側回復計畫（前提是事先有客戶分組與隔離開關）。</li>
</ul>
<h2 id="從本案例到實作的-chain">從本案例到實作的 chain</h2>
<p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：</p>
<ul>
<li><strong>控制面</strong>：<a href="/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任</a> + <a href="/blog/backend/07-security-data-protection/workload-identity-and-federated-trust/" data-link-title="7.10 Workload Identity 與聯邦信任邊界" data-link-desc="定義非人類身份、跨平台信任與短時憑證治理問題">7.5 工作負載身份與 federated trust</a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。</li>
<li><strong>演練 / 控制落地</strong>：<a href="/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/recovery-readiness-pattern/" data-link-title="Recovery Readiness Pattern" data-link-desc="定義長時間 outage 復原、備援存取與外部依賴溝通的共同欄位">Recovery readiness pattern</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern</a> —— 把樣式轉成多租戶演練、回復欄位與漏洞處理流程。</li>
<li><strong>跨章交接</strong>：<a href="/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response</a> 的跨組織通訊節奏、<a href="/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform</a> 的多租戶部署治理。</li>
</ul>
<p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。</p>
<h2 id="來源">來源</h2>
<table>
  <thead>
      <tr>
          <th>來源</th>
          <th>類型</th>
          <th>可引用範圍</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="https://helpdesk.kaseya.com/hc/en-gb/articles/4403440684689">helpdesk.kaseya.com</a></td>
          <td>官方</td>
          <td>受影響版本、修補時序、客戶通報節奏</td>
      </tr>
      <tr>
          <td><a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa21-209a">cisa.gov</a></td>
          <td>政府/監管</td>
          <td>受影響範圍、檢測指引、跨機構處置建議</td>
      </tr>
      <tr>
          <td><a href="https://nvd.nist.gov/vuln/detail/CVE-2021-30116">nvd.nist.gov/CVE-2021-30116</a></td>
          <td>技術分析</td>
          <td>CVE 細節、authenticated bypass 機制</td>
      </tr>
  </tbody>
</table>
]]></content:encoded></item><item><title>7.R7.2.10 TeamCity 2024：CVE-2024-27198/27199 入口鏈</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/teamcity-2024-cve-27198-27199-auth-path-traversal/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/red-team/cases/supply-chain/teamcity-2024-cve-27198-27199-auth-path-traversal/</guid><description>&lt;h2 id="事故摘要">事故摘要&lt;/h2>
&lt;p>TeamCity 2024 事件顯示 CI 平台在認證繞過與路徑穿越漏洞同時存在時，交付鏈風險會被快速放大。&lt;/p>
&lt;p>&lt;strong>本案例的演示焦點&lt;/strong>：CI 管理介面 auth bypass + path traversal 雙漏洞 → build pipeline 接管 → artifact 污染擴散下游。屬 CI-platform entrypoint 漏洞鏈、跟 SolarWinds 類 build-time 植入互補。&lt;/p>
&lt;h2 id="攻擊路徑">攻擊路徑&lt;/h2>
&lt;ol>
&lt;li>攻擊者鎖定可達 TeamCity 管理入口。&lt;/li>
&lt;li>利用 CVE-2024-27198 或 CVE-2024-27199 取得未授權能力。&lt;/li>
&lt;li>觸及 build 任務與 artifact 交付路徑。&lt;/li>
&lt;/ol>
&lt;h2 id="失效控制面">失效控制面&lt;/h2>
&lt;ul>
&lt;li>CI 管理介面隔離與存取控制不足。&lt;/li>
&lt;li>交付鏈完整性驗證節奏不足。&lt;/li>
&lt;li>事件時部署凍結與回退流程聯動不足。&lt;/li>
&lt;/ul>
&lt;h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼&lt;/h2>
&lt;p>若少了「CI 事件即凍結交付」步驟，受影響 artifact 仍可能持續流向正式環境。&lt;/p>
&lt;h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點&lt;/h2>
&lt;ul>
&lt;li>共同基線：以 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/runbook/" data-link-title="Runbook" data-link-desc="說明 runbook 如何把事故判斷與操作步驟標準化">runbook&lt;/a> 與 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/incident-timeline/" data-link-title="Incident Timeline" data-link-desc="說明事故時間線如何支援判斷、溝通與復盤">incident timeline&lt;/a> 固定記錄觸發條件與處置節奏。&lt;/li>
&lt;li>發布前：管理入口採最小權限與網段隔離（VPN-only / 內網 only、不直接外網可達），mechanism 是讓 entrypoint 漏洞先碰到網段邊界。&lt;/li>
&lt;li>日常：建立 build 異常行為與 pipeline 變更告警（unauthorized build trigger / 異常 build script 變更）。&lt;/li>
&lt;li>事故中：凍結部署、驗證 artifact、分批恢復發佈（前提是 artifact 有 provenance 可追溯 build 是否在事件窗口內產生）。&lt;/li>
&lt;/ul>
&lt;h2 id="從本案例到實作的-chain">從本案例到實作的 chain&lt;/h2>
&lt;p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>控制面&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">7.3 入口與伺服端保護&lt;/a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。&lt;/li>
&lt;li>&lt;strong>演練 / 控制落地&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern&lt;/a> + &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/evidence-chain-pattern/" data-link-title="Evidence Chain Pattern" data-link-desc="定義事故與演練需要保存的訊號、決策、artifact、timeline 與 retention 證據">Evidence chain pattern&lt;/a> —— 把樣式轉成 CI 凍結演練、artifact 證據鏈。&lt;/li>
&lt;li>&lt;strong>跨章交接&lt;/strong>：&lt;a href="https://tarrragon.github.io/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform&lt;/a> 的 CI/CD 交付信任鏈、&lt;a href="https://tarrragon.github.io/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response&lt;/a> 的凍結與回復節奏。&lt;/li>
&lt;/ul>
&lt;p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。&lt;/p>
&lt;h2 id="來源">來源&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>來源&lt;/th>
 &lt;th>類型&lt;/th>
 &lt;th>可引用範圍&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;a href="https://blog.jetbrains.com/teamcity/2024/03/additional-critical-security-issues-affecting-teamcity-on-premises-cve-2024-27198-and-cve-2024-27199-update-to-2023-11-4-now">blog.jetbrains.com&lt;/a>&lt;/td>
 &lt;td>官方&lt;/td>
 &lt;td>受影響版本、雙漏洞細節、修補節奏&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2024-27198">cisa.gov&lt;/a>&lt;/td>
 &lt;td>政府/監管&lt;/td>
 &lt;td>KEV 列入、跨機構處置建議&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2024-27199">nvd.nist.gov/CVE-2024-27199&lt;/a>&lt;/td>
 &lt;td>技術分析&lt;/td>
 &lt;td>CVE 細節、auth bypass + path traversal 機制&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description><content:encoded><![CDATA[<h2 id="事故摘要">事故摘要</h2>
<p>TeamCity 2024 事件顯示 CI 平台在認證繞過與路徑穿越漏洞同時存在時，交付鏈風險會被快速放大。</p>
<p><strong>本案例的演示焦點</strong>：CI 管理介面 auth bypass + path traversal 雙漏洞 → build pipeline 接管 → artifact 污染擴散下游。屬 CI-platform entrypoint 漏洞鏈、跟 SolarWinds 類 build-time 植入互補。</p>
<h2 id="攻擊路徑">攻擊路徑</h2>
<ol>
<li>攻擊者鎖定可達 TeamCity 管理入口。</li>
<li>利用 CVE-2024-27198 或 CVE-2024-27199 取得未授權能力。</li>
<li>觸及 build 任務與 artifact 交付路徑。</li>
</ol>
<h2 id="失效控制面">失效控制面</h2>
<ul>
<li>CI 管理介面隔離與存取控制不足。</li>
<li>交付鏈完整性驗證節奏不足。</li>
<li>事件時部署凍結與回退流程聯動不足。</li>
</ul>
<h2 id="如果-workflow-少一步會發生什麼">如果 workflow 少一步會發生什麼</h2>
<p>若少了「CI 事件即凍結交付」步驟，受影響 artifact 仍可能持續流向正式環境。</p>
<h2 id="可落地的-workflow-檢查點">可落地的 workflow 檢查點</h2>
<ul>
<li>共同基線：以 <a href="/blog/backend/knowledge-cards/runbook/" data-link-title="Runbook" data-link-desc="說明 runbook 如何把事故判斷與操作步驟標準化">runbook</a> 與 <a href="/blog/backend/knowledge-cards/incident-timeline/" data-link-title="Incident Timeline" data-link-desc="說明事故時間線如何支援判斷、溝通與復盤">incident timeline</a> 固定記錄觸發條件與處置節奏。</li>
<li>發布前：管理入口採最小權限與網段隔離（VPN-only / 內網 only、不直接外網可達），mechanism 是讓 entrypoint 漏洞先碰到網段邊界。</li>
<li>日常：建立 build 異常行為與 pipeline 變更告警（unauthorized build trigger / 異常 build script 變更）。</li>
<li>事故中：凍結部署、驗證 artifact、分批恢復發佈（前提是 artifact 有 provenance 可追溯 build 是否在事件窗口內產生）。</li>
</ul>
<h2 id="從本案例到實作的-chain">從本案例到實作的 chain</h2>
<p>本案例是事故敘事 layer，沿三步 chain 進入 implementation：</p>
<ul>
<li><strong>控制面</strong>：<a href="/blog/backend/07-security-data-protection/supply-chain-integrity-and-artifact-trust/" data-link-title="7.12 供應鏈完整性與 Artifact 信任" data-link-desc="定義 build provenance、artifact 信任與交付鏈風險問題">7.6 供應鏈完整性與 artifact 信任</a> + <a href="/blog/backend/07-security-data-protection/entrypoint-and-server-protection/" data-link-title="7.3 入口治理與伺服器防護" data-link-desc="以問題驅動方式整理對外入口、管理平面與伺服器邊界">7.3 入口與伺服端保護</a> —— mitigation 的 mechanism / 前提 / context-dependence 在這裡定義。</li>
<li><strong>演練 / 控制落地</strong>：<a href="/blog/backend/07-security-data-protection/blue-team/materials/scenarios/supply-chain-artifact-drill/" data-link-title="Supply Chain Artifact Drill" data-link-desc="以 artifact provenance 偏移設計供應鏈 release gate 與 rollback 演練">Supply chain artifact drill</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/vulnerability-response-pattern/" data-link-title="Vulnerability Response Pattern" data-link-desc="定義漏洞回應如何從 observed 推進到 assessed、mitigated、patched、validated 與 closed">Vulnerability response pattern</a> + <a href="/blog/backend/07-security-data-protection/blue-team/materials/control-patterns/evidence-chain-pattern/" data-link-title="Evidence Chain Pattern" data-link-desc="定義事故與演練需要保存的訊號、決策、artifact、timeline 與 retention 證據">Evidence chain pattern</a> —— 把樣式轉成 CI 凍結演練、artifact 證據鏈。</li>
<li><strong>跨章交接</strong>：<a href="/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">backend/05-deployment-platform</a> 的 CI/CD 交付信任鏈、<a href="/blog/backend/08-incident-response/" data-link-title="模組八：事故處理與復盤" data-link-desc="用 IR 領域詞彙建問題節點、以服務級案例庫累積事故脈絡，先建概念與案例庫再進實作交接">backend/08-incident-response</a> 的凍結與回復節奏。</li>
</ul>
<p>供應鏈類事故不對應紅隊 problem-cards，主要 chain 直接從控制面起步。</p>
<h2 id="來源">來源</h2>
<table>
  <thead>
      <tr>
          <th>來源</th>
          <th>類型</th>
          <th>可引用範圍</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="https://blog.jetbrains.com/teamcity/2024/03/additional-critical-security-issues-affecting-teamcity-on-premises-cve-2024-27198-and-cve-2024-27199-update-to-2023-11-4-now">blog.jetbrains.com</a></td>
          <td>官方</td>
          <td>受影響版本、雙漏洞細節、修補節奏</td>
      </tr>
      <tr>
          <td><a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2024-27198">cisa.gov</a></td>
          <td>政府/監管</td>
          <td>KEV 列入、跨機構處置建議</td>
      </tr>
      <tr>
          <td><a href="https://nvd.nist.gov/vuln/detail/CVE-2024-27199">nvd.nist.gov/CVE-2024-27199</a></td>
          <td>技術分析</td>
          <td>CVE 細節、auth bypass + path traversal 機制</td>
      </tr>
  </tbody>
</table>
]]></content:encoded></item></channel></rss>