DEF CON 33 Voting Village - Dominion ICX Simple Hacks Daunting Recoveries - Springall, Davis, Marks
三句話摘要
DEF CON安全會議揭露喬治亞州Dominion觸控屏投票機的重大漏洞——攻擊者可在一小時內駭入選舉資料庫,改變選票顯示和投票計數。 投票機不應由無簽名驗證的資料庫單獨控制選票內容呈現,唯有手寫紙質選票搭配風險限制審計才能確保民主制度的完整性。 資料庫缺乏加密完整性驗證 — Dominion系統將AES加密密鑰、IV值和HMAC密鑰以純文本形式儲存在資料庫和投票工作人員卡上,採用對稱加密使得任何獲得密鑰的人都能加密解密內容,系統完全依賴這些未簽名的資料庫來顯示選票內容。
重點整理
重點- 1
資料庫缺乏加密完整性驗證 — Dominion系統將AES加密密鑰、IV值和HMAC密鑰以純文本形式儲存在資料庫和投票工作人員卡上,採用對稱加密使得任何獲得密鑰的人都能加密解密內容,系統完全依賴這些未簽名的資料庫來顯示選票內容。
- 2
兩層次攻擊模式 — "駭客投票者"改變螢幕顯示但不留紀錄使選民改變投票意圖,"駭客投票計數"改變列印選票與二維碼的對應關係使計票結果與選民選擇相反,兩種攻擊結合造成雙重威脅。
- 3
高度可擴展的攻擊途徑 — 只需USB裝置和幾秒鐘時間即可修改配置,密鑰分佈在縣級伺服器、投票工作人員卡和每台機器上,攻擊者可在投票前多個時間點注入修改的資料庫。
- 4
架構設計的根本缺陷 — 供應商分離螢幕文本與列印文本、使用對稱而非非對稱加密、跨所有機器使用統一密鑰的決策都存在安全漏洞,這些並非執行錯誤而是設計缺陷。
實用技巧與重點
乾貨- 系統規模與分佈:
- 喬治亞州:40,000台Dominion ICX觸控屏
- 全美使用:30個州
- 發現漏洞的資料庫:5個喬治亞州縣
- 技術細節:
- 資料庫儲存位置:未加密的ZIP檔案、SQL Server資料庫
- 加密方式:AES對稱加密、HMAC對稱簽名
- 密鑰儲存位置:縣級EMS伺服器、投票工作人員卡、ICX機器本體
- 關鍵資料庫表格:choice_localized(HTML顯示文本)、printed_text(列印文本)、election_events表(包含密鑰副本)
- 二維碼特性:包含位置索引而非候選人名稱,掃描儀只識別二維碼不識別列印文本
- 攻擊可執行性:
- 修改資料庫時間:< 1小時(第一次接觸機器)
- 所需工具:檔案管理器、SQL資料庫編輯器、USB裝置
- 所需授權等級:技術人員卡(載入配置)+ 投票工作人員卡(解密)或直接存取EMS伺服器
- 演示案例修改:
- 修改公投問題:將"大麻應合法化嗎?"改為"大麻應非法化嗎?"
- 修改黨派關聯:Charles Curtis從民主黨改為綠黨
- 禁用候選人:從選票移除Libertarian或Green Party候選人
- 交換候選人:Everett Dirkson和Charles Curtis在列印選票上互換位置但二維碼不變
- demo工具來源:
- ICX觸控屏機器:Michigan原始機器,經Goodwill捐贈後由eBay購入
- Demo kit:第三方選舉服務商線上銷售,包含完整選舉定義、投票工作人員卡、技術人員卡、PIN碼
- 機器配置:Android OS、Democracy Suite 5.5
- 歷史參考案例:
- Antrim County, Michigan:資料庫配置錯誤導致投票給錯誤候選人
- DeKalb County, Georgia:同類配置錯誤
- 政策時間窗口:
- 喬治亞州早投期:3週
- 州級認證測試:提前多週進行
- 估計密鑰暴露時窗:數週(具體時間因州而異)
結論
結論“投票機不應由無簽名驗證的資料庫單獨控制選票內容呈現,唯有手寫紙質選票搭配風險限制審計才能確保民主制度的完整性。”
完整解析
詳細本次DEF CON演講揭露了投票機系統中一個足以動搖選舉完整性的根本性漏洞。故事始於軟體工程師Philip Davis的無意發現——他在Florida家中瀏覽公開資訊時,意外發現喬治亞州五個縣的選舉資料庫以未加密的形式儲存在網路可訪問的位置。更令人驚駭的是,資料庫內包含了控制投票機運作的所有關鍵加密密鑰和簽名,竟然以純文本形式存放。Davis進一步發現Dominion系統採用對稱加密——這意味著任何擁有AES密鑰和HMAC密鑰的人都可以加密和解密任何內容,實質上獲得了整個系統的管理員權限。
攻擊之所以可行,根本原因在於軟體架構的設計缺陷。Dominion投票軟體對資料庫內容的依賴程度近乎完全——系統會讀取資料庫中的HTML格式顯示文本來呈現候選人名單、黨派資訊和公投問題,卻沒有任何簽名驗證或HMAC檢查機制。Davis在一小時內就掌握了修改方法:他找到choice_localized表格改變HTML內容、找到printed_text表格改變列印文本、甚至發現了禁用候選人或更改公投措辭的簡單方法。在演示中,他成功將"大麻消費應該合法化嗎?"改為"大麻消費應該非法化嗎?",當選民看到這個反轉後的問題並投票時,他們的投票意圖與實際計票結果完全相反,而列印選票上卻只顯示"提案一,贊成/反對",完全隱蔽了攻擊痕跡。
演示揭露了兩種互補的攻擊方法。第一種稱為"駭客投票者"——改變螢幕顯示內容誘導選民做出與原意相反的選擇。第二種稱為"駭客投票計數"——利用二維碼與列印文本的分離特性。關鍵在於,掃描儀讀取的是二維碼(這是一個位置索引而非實際名稱),而非人類可讀的列印文本。攻擊者可以在列印選票上交換候選人名稱,但保持二維碼不變,結果是選民在選票上看到自己想要的候選人,實際投出的二維碼卻是完全不同的人——系統計票時只看二維碼。這種攻擊的可怕之處在於完全隱形:列印選票在所有方面都顯示正確,選民無法察覺欺騙。
攻擊的可擴展性是最令人擔憂的方面。密鑰不是某個單一位置的祕密——它們儲存在縣級EMS中央伺服器、每張投票工作人員卡、以及現場每台ICX機器上。攻擊者只需在選舉前獲得這些密鑰和原始資料庫檔案,就可以製作修改版本。由於一切都是軟體層面的改動,一個經過修改的配置檔案可以被複製到USB隨身碟,在投票場所任何時刻被載入到多台機器——只需要幾秒鐘和一張技術人員卡。與過去的Antrim County和DeKalb County事件不同(那些是系統性的、可預測的配置錯誤,影響範圍可被追蹤和修正),這些新攻擊由攻擊者完全控制,可以精心調整難度、影響範圍、暴露風險之間的權衡,難以通過事後審計發現。
演講者強調,這些漏洞並非執行層面的疏失,而是架構決策的結果。供應商選擇使用對稱加密而非非對稱加密,選擇跨所有機器使用統一的密鑰集,選擇在螢幕顯示和列印文本之間分離資料庫欄位,這些決策雖然可能出於成本或工程便利考慮,但從安全角度都是有問題的。研究者呼籲即將到來的VBSG 2.0投票系統認證標準應推動更好的設計決策,並提出了簡單而有效的解決方案:回歸手寫紙質選票、由掃描儀進行無網路連接的本地計數、加上風險限制審計來驗證最終結果的正確性。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

