KeyFrame內部研究專用

DEF CON 33 - Voting Village - Reflections on TTBR & Everest - Bowen, Blaze, Clark, Hoke, Mulligan

DEFCONConference·11月4日週二·29 min英文

三句話摘要

美國投票系統的源代碼安全審查經驗與教訓,以及實現可信選舉所需的系統性改革。 美國投票系統需要根本性改革:不再迷信完美代碼,而是通過軟件獨立性等架構設計確保即使系統被破壞也能保護選舉完整性,同時需要獨立的大學團隊、充足的公共研究投資,以及打破供應商主導的封閉系統。 投票系統的計算機本質被忽視:投票系統不應被視為簡單的選票機器,而是運行軟件的計算機,需要像其他計算機一樣進行安全審查,面臨軟件漏洞、系統過時(Windows 2000、CE、早期Linux)等問題。

重點整理

重點
  • 1

    投票系統的計算機本質被忽視:投票系統不應被視為簡單的選票機器,而是運行軟件的計算機,需要像其他計算機一樣進行安全審查,面臨軟件漏洞、系統過時(Windows 2000、CE、早期Linux)等問題。

  • 2

    供應商主導導致系統設計缺陷:整個審查生態由供應商掌控選舉官員培訓、認證標準、測試實驗室,導致計算機安全專業人士與選舉官員之間認知割裂,產生「兩個不同的世界」,安全問題被忽視。

  • 3

    政治與法律障礙阻止公開透明:俄亥俄州務卿要求科學報告完全編輯權、要求簽署保密協議、要求只報告有「快速徹底修復」的漏洞,導致失去12週工作時間,發現無法公開。

  • 4

    軟件獨立性與架構優先於代碼完美性:認知到代碼永遠不可能完美,改變策略從「追求絕對安全的軟件」轉向「即使軟件有漏洞也能實現安全、可靠、隱私、公平、準確的選舉」,強調架構設計的重要性。

實用技巧與重點

乾貨
  • 具體數據
  • 俄亥俄州系統:700萬行代碼
  • 兩州審查覆蓋:全國約90%選民使用的投票設備
  • 審查時間限制:8週(包括報告撰寫)
  • 俄亥俄州談判損失:12週工作時間
  • 2007年TTBR和Everest研究:連續48小時實驗室工作,打字速度成為發現數量的限制
  • 系統運行軟件
  • Windows CE
  • Windows 2000
  • 早期版本Linux
  • 至2012年未見升級
  • 發現的漏洞類型
  • 管理員密碼未更改(京賀縣整個系統)
  • 管理員密碼更改文檔錯誤
  • 硬編碼密碼漏洞(註釋稱「硬編碼是為了防止黑客」)
  • 觸摸屏校準誤差(投票不正確)
  • 惡意軟件可被安裝並在後續選舉中重新感染系統
  • 法律與合同限制
  • 供應商合同禁止逆向工程
  • 只允許邏輯與準確性測試
  • 禁止無障礙測試、安全測試、紅隊測試
  • 禁止他人查看系統文檔、培訓材料
  • 關鍵組織
  • NSF資助的準確中心(跨學科研究投票系統)
  • NASS(全國選舉主任協會)與供應商關係密切
  • 加州州務卿Deborah Bowen主導TTBR
  • 俄亥俄州州務卿(對報告有編輯權要求)
  • 重要概念
  • 軟件獨立性(Software Independence):新自願投票系統指南BVSG 2.0的核心
  • 「投票計算機」vs「投票機」:荷蘭安全研究者提出的術語區分

結論

結論

美國投票系統需要根本性改革:不再迷信完美代碼,而是通過軟件獨立性等架構設計確保即使系統被破壞也能保護選舉完整性,同時需要獨立的大學團隊、充足的公共研究投資,以及打破供應商主導的封閉系統。

完整解析

詳細

美國投票系統的安全審查始於2007年加州,當時加州大學伯克利分校教授David Wagner邀請Matt Bishop領導SEOIA投票系統的源代碼審查項目。Bishop最初的擔憂是時間太短(8週)可能找不到問題,但Wagner確信會有發現。審查團隊在有限時間內確實發現了大量漏洞,但審查結束後Bishop本以為能從選舉系統工作中退休,卻被俄亥俄州州務卿邀請進行第二次審查。

在俄亥俄州的Everest項目中,研究團隊獲得了所有硬件和軟件的實驗室使用權,這是改進。然而,更大的障礙出現了。俄亥俄州州務卿要求所有科學報告必須經過完整編輯、要求科學家簽署保密協議無法披露更改內容、要求只報告有「快速徹底修復」的漏洞,同時還想保留科學家名字以維持可信度。Bishop和Candace Cho作為中間人進行了長期談判,堅持科學家發布發現的權利。Sandy Clark回憶談判導致失去12週原本用於工作的時間。

審查發現暴露了投票系統的根本問題。系統運行著Windows 2000、Windows CE甚至早期Linux等過時軟件,擁有700萬行代碼,包含管理員密碼未更改、密碼更改文檔錯誤、硬編碼密碼漏洞等問題。由於觸摸屏校準誤差,選民可能看似投給了一位候選人,但計票系統記錄的卻是另一位。研究團隊甚至成功在系統上安裝了惡意軟件,該軟件能在後續選舉中重新感染系統。更令人震驚的是,這些研究人員自稱並非頂尖黑客,他們想到的每個方法都奏效了。

根本問題在於整個生態系統的誤解。選舉官員被告知「投票機不是計算機」,計算機科學與選舉安全無關。供應商控制選舉官員培訓、認證標準和測試實驗室,導致計算機安全專業人士與選舉官員處於「兩個不同的世界」。加州2000年總統大選後,聯邦政府通過《幫助美國投票法案》,要求各州購買新投票機,但沒有相應資金用於維護和升級。由於市場規模問題,即使洛杉磯縣開發了優秀的定制系統,也無法推廣到全國其他地區。

關鍵的認知轉變是意識到軟件永遠不可能完美。過去的方法是尋找所有漏洞,但這不現實。新的思路是轉變目標:不是追求「完美安全的軟件」,而是即使軟件有漏洞甚至被惡意利用,也能實現「安全、可靠、隱私、公平、準確的選舉」。這改變了評估範圍,更強調架構而不僅是代碼。軟件獨立性架構因此成為關鍵,因為我們必須承認高度可靠系統在實踐中可能無法實現。NSF資助的研究產生了軟件獨立性、風險限制審計等成果,現已納入新的自願投票系統指南BVSG 2.0。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。
Risky Bulletin: Expired credit cards can be used for malicious transactions
5 min
Web2 安全英文PODCAST8月24日

Risky Bulletin: Expired credit cards can be used for malicious transactions

Risky Business

  • 支付安全的非對稱風險:Visa卡利用未加密的卡片資料與NFC通訊,攻擊者可藉由中間人技術竄改過期日期進行交易,但MasterCard、美運卡與Discover的防護更完善,顯示不同發卡機構的安全架構存在明顯差異。
  • 國家級駭客活動的連鎖延伸:北韓Lazarus集團在2月單一事件已累積100名受害者,涵蓋大學、警察部門、媒體與醫療機構,伊朗駭客則針對基礎建設如電力系統發動破壞性攻擊,反映地緣政治在網路戰爭中的升溫。
  • AI加速漏洞生態的雙面刃:AI工具催生近2萬份漏洞概念驗證代碼發布,但同時也導致大量失效漏洞代碼氾濫,增加資安團隊甄別真實威脅的難度;Mayer Protocol遭攻擊事件中,駭客用AI鏈接六個無關的小漏洞完成盜竊170萬美元的攻擊。
SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware
5 min
Web2 安全英文PODCAST8月24日

SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware

SANS Stormcast

  • Microsoft EntraID 的遠端代碼執行漏洞已由微軟修補,初期報告顯示已遭利用但後來更正為未遭利用。這反映 Microsoft 在雲端軟體安全上的透明度提升,對漏洞採用與內部軟體相同的 CVE 編號和公告流程。
  • PowerShell 指令碼可用於驗證 MFA 部署完整性,特別是找出未啟用 MFA 的遺漏帳號。同時可以分析 EntraID 登入日誌中的異常行為,如風險係數評估和地理位置檢測,幫助組織快速識別可疑登入。
  • GitLab 的 GraphQL 代碼注入漏洞允許未認證攻擊者刪除或修改儲存庫,潛在導致供應鏈攻擊。已有公開概念驗證 (PoC) 存在,使用內部部署 GitLab 的組織必須立即修補。