280,000人がオンラインで投票した後、誰かが問題に気づいた
280,000票がすでに投じられていたライブ選挙中に、2人の研究者が公式のセキュリティレビューが見落とした欠陥を発見しました。そしてそれをキャッチするはずだった検証システムも破損していました。
2015年3月、ニューサウスウェールズ州のどこかで、有権者がブラウザを開き、リンクをたどり、州選挙の投票を行います。プロセス全体は数分で完了します。列もなし。投票所もなし。ただフォームがあり、クリックして、確認メッセージが届くだけです。
その有権者が知らないこと——小さな研究チームの外の誰も知らないこと——は、有権者のブラウザの下で実行されているコードが既知のセキュリティの弱点を持つ接続経由で読み込まれているということです。有権者とサーバーの間に位置するネットワーク攻撃者が、ページが読み込まれる前にそのコードを改ざんできる可能性があるということです。システムが完全性チェックとして提供していた別の電話確認サービスも同様にハッキングできるということです。そして先ほどのセキュリティレビューがこのシステムを検査しても、これらのいずれも見つけなかったということです。
研究者のJ. Alex HaldermanとVanessa Teagueが公開するまでに、約280,000票がすでに投じられていました。
システムが自分自身を承認した
iVoteシステムは無謀な実験や急ぎの後付けではありませんでした。ニューサウスウェールズ州はこれを意図的に投資し、視覚障害者や印刷障害者、遠隔地にいる有権者、または単にオンライン投票の利便性を好む有権者に提供していました。公式の投票前セキュリティレビューに合格していました。当局はインターネット投票のリスクについて知っていました——彼らはこのシステムをそれらについて検査していました。彼らはそれが準備完了だと結論づけました。
システムをクリアする非公開レビューは、そのシステムが安全であることと同じではありません。
公開査読済み論文によると、HaldermanとTeagueがE-Vote-ID 2015で発表した内容は、公式レビューが検出しなかったものです。iVoteは外部JavaScript——有権者のブラウザで実行されるコード——をFREAKおよびLogjam攻撃に対して脆弱な接続経由でアナリティクスサーバーから読み込んでいました。これらは公に開示されていた既知のTLS弱点でした。その弱点を悪用するネットワーク位置の攻撃者は、有権者に到達する前にiVoteページに悪質なコードを注入して、有権者の知らないうちに投票がどのように記録されるかを操作できた可能性があります。攻撃者は選挙管理委員会自体のサーバーに侵入する必要はありませんでした。ネットワーク上の適切な位置にいるだけで済みました。
研究者はまた、iVoteの電話確認サービス——投票がどのように記録されたかを確認する方法をシステムが提供する機能も調査しました。彼らが見つけたのは、このサービス自体が改ざんされた投票が検証されたように見えさせることができる方法で操作されやすいということでした。チェックはまた改ざんされる可能性のあるソースに対してチェックしていました。
それはセーフティネットではありません。それはその幻想です。
「先ほどのレビューがそれをクリアした」が実際に意味するもの
イベントのシーケンスについて正確にしましょう。シーケンスが話全体だからです。
選挙前にセキュリティレビューが実施されました。レビューはHaldermanとTeagueが見つけた脆弱性を発見しませんでした。選挙が始まりました。投票が蓄積されました——最終的に約280,000に達しました。その後、選挙管理委員会とその契約されたレビュー担当者の外側で働く2人の独立した研究者が、実行中のシステムを分析し、深刻な欠陥を見つけました。彼らは問題を開示しました。投票がまだ進行中の状態で、修正が展開されました。
言い換えれば、公式の投票前レビューはクリアランスを与えました。公式レビューが見落としたものを見つけた公式プロセスに制度的な利害関係のない2人の部外者。問題はプロセスが機能したから発見されたのではなく、独立した研究者がライブ選挙中に自分たちで見ることにしたから発見されました。
「セキュリティレビューに合格した」はスナップショットについての主張です。それは選挙日に実行されるシステムについての主張ではありません。
これは認証スナップショット問題です。レビューは時点で実施され、その瞬間に存在するコードと構成に対して、レビュー担当者がもたらしたテスト計画と脅威モデルを使用して実施されます。脅威モデルが既知のTLS攻撃クラスを見落とした場合、これらの脆弱性はレポートに表示されません。システムがわずかに変更されます——サードパーティアナリティクスライブラリが更新される、構成パラメータがシフトする——とレビューはもはや実際に実行されているものをカバーしなくなります。
ドイツ連邦憲法裁判所は2009年にこの問題のバージョンに直面し、電子投票は市民が専門知識なしに各本質的なステップを検証できる場合にのみ憲法上正当であると裁定しました。有権者が「送信」をクリックした後、画面をチェックし、確認メッセージを受け取ることはこれを行うことができません。特定の外部依存関係を見ることがないたまたま投票前セキュリティチームもそうではないことが判明したかもしれません。
検証しなかった検証メカニズム
一瞬であなたと一緒に留まる価値のある詳細は電話チェックです。
iVoteは有権者に投票が意図した通りに記録されたかどうかを確認するために電話をかけて確認する方法を提供しました。これは正しい本能です。**エンドツーエンド検証可能性——有権者が投票が正しくキャプチャされたことを確認できる能力——は本物のセキュリティ要件であり、マーケティング機能ではありません。**ノルウェー、エストニア、スイスはすべてそれを提供する方法について真摯に検討してきました。スイスポストの2019年システムは暗号化証明を使用して普遍的検証可能性と呼ばれるものを提供していましたが、独立した研究者がミックスネットのトラップドアを見つけるまででした。改ざんされた投票を隠しながら説得力のある証明を生成することができました。
有権者にシステムのチェックを与える衝動はまさに正しいものです。問題が生じるのは、そのチェックがそれがチェックしているものと同じインフラストラクチャで実行される場合、または投票自体を操作できるのと同じ攻撃者によって操作される可能性がある場合です。
これは仮説的なリスクではありません。HaldermanとTeagueはiVoteの電話確認が操作されやすく、虚偽の確認を生成する可能性があることを文書化しました。有権者が投票を確認するために電話をかけると、すべてが問題なかったと聞きます。投票がネットワーク攻撃者によって改ざんされた有権者も、すべてが問題なかったと聞きます。検証サービスと脆弱性は同じエコシステムに存在していました。
基礎となるシステムと同じ攻撃により騙される可能性のある検証メカニズムは何も検証しません。それは快適さを提供し、快適さはセキュリティプロパティではありません。
「独立した」がなぜすべての作業をしているか
NSW事件についての不快な真実はここにあります。公式チェーンの誰も這いつくばりませんでした。
ベンダーではなく。選挙管理委員会自体のチーム。契約されたセキュリティレビュー担当者も。それは2人のアカデミア人によって検出されました。誰も尋ねられず、報酬も与えられず、テスト環境への特別なアクセスも与えられませんでした。彼らは本番システム——実投票者からの実投票を処理しているシステム——を分析し、公式プロセスが見つけなかったものを見つけました。
ワシントンD.C.2010年は最も便利な比較です。海外投票者向けのインターネット投票返却システムを展開する前に、D.C.はオープンな公開試験を実施し、攻撃するために公開を明確に招待しました。Haldermanが率いるミシガン大学チームは、約48時間でパイロットサーバーのほぼ完全なコントロールを獲得し、キャストされていた投票を変更し、彼らのアクセスの証拠としてファイト曲を再生していました。D.C.がシステムを中止しました。実投票は影響を受けませんでした。テストが明確にオープンだったため、脆弱性が検出されました——誰でも試すことができ、試みたチームが閉じた内部テストが見つけなかったものを見つけました。
NSWの事件はD.C.の鏡像です。オープンな公開テストなし。システムをクリアしたクローズドレビュー。実投票がシステムに既にある後に、独立した研究者による脆弱性は検出されました。
災害と検出された欠陥の違いは、多くの場合、正しい部外者がたまたま見かけたかどうかです。
これは不快な文です。選挙の安全性は公式プロセスの一部ではない研究者の主導にかかる可能性があり、彼らは簡単に見ることをしなかった可能性があるからです。また、彼らが見て何かを見つけたとき、公式の反応は「ありがとうございます。これが変わったことです」——「私たちのレビューはシステムをすでにクリアしていた」ではなく。
システムをクリアするレビューは、あなたを安心させるべきデータポイントではなく、心配するべき状態です。それはクローズドレビューが後でオープンレビューが見つけたものを見つけなかったことを示しています。適切な反応は、クローズドレビューが見つけていない可能性のある他にどんなことがあるかを尋ねることです。
スナップショット問題はより深く実行される
世界中のあらゆる認定投票システムは、現在過去にある時点で認定されました。
米国選挙支援委員会は、選挙的投票システムガイドラインに対して投票システムを認定します。2005年のGAOレポートは、Help America Vote Actがそれを義務付けてから数年後であっても、その認定プログラムのための基本的なインフラストラクチャさえ完全でなかったことを発見しました。基準が構築されます。システムがそれらに対してテストされます。認定が発行されます。
その後時間が経ちます。新しい攻撃クラスが発見されます。依存関係が更新されます。構成がドリフトします。そして、時点でシステムに対する標準の認定は、その後改装されたビルの額入りの写真のように壁に残ります。
より深い問題は、どの認定プロセスもレビュー実施時の脅威モデルにはなかった攻撃クラスを説明することができないということです。FREAKとLogjamはiVoteが実行されていたときに公に既知の弱点でした。それらは学問文献にありました。彼らは名前を持っていました。そしてそれらは明らかにシステムをクリアしたテスト計画に含まれていませんでした。
これは認定に対する主張ではありません——認定が必要だが十分ではないという主張であり、その十分性は時間とともに低下しています。「このシステムは認定されています」の正直なバージョンは次のとおりです。「このシステムは特定の基準に対するレビューに合格し、特定のチームによって実施され、特定の脅威モデルを使用して、特定の時点で実施されました。これらのものは現在のままであることが保証されていません。」
修正はより良いスナップショットではありません。修正は継続的で、オープンで、独立した検証可能性です——質問が「レビューに合格したか」ではなく「数学を見せられるか」になるように。
「独立して確認可能」が実際に必要とするもの
NSW iVote物語は、選挙中に展開された修正と、継続して運用されるシステムで終わります。選挙は中止されませんでした。すでに投じられた280,000票は再実行されませんでした。修正前に投票がそれらのいずれかが改ざんされたかどうかを遡及的に確認するメカニズムはありませんでした。
これは物語の難しい部分で、すっきり解決していません。
エストニアのi-投票システム。SpringallとFinkbeiner、そしてHaldermanのチームが2014年に分析しました。少なくとも独立した検査のための部分的なソースコードを提供しました。研究者は深刻な運用セキュリティの弱点を発見し、リソースが豊富な攻撃者が投票を検出不可能に改ざんできると結論付けました。エストニアは結論に異議を唱えました。システムは継続して運用されました。異議と継続は解決と同じではありません。
スイスポストの2019年システムはさらに一歩進みました——バインディング選挙での展開前に、公開検査のために完全なソースコードを公開しました。独立した研究者はシャッフル証明のトラップドアを見つけました。スイスの当局はシステムを中止しました。これはこのスペースの最も成功に近いものです。ソースが公開され、欠陥が見つかり、実投票が影響を受ける前にシステムが中止されました。
NSWからエストニアからスイスへの進行は、開放へ向かっての進行です。NSW:クローズドレビュー、ライブ選挙中に見つけられた欠陥、有権者が遡及的に検証するメカニズムなし。エストニア:部分的な開放性、独立した分析、異議を唱えられた結論。スイス:完全な公開、暗号化欠陥がバインディング使用前に見つけられ、システムが中止されました。
方向は重要です。しかし、スイスが機能するために必要だったことに注意してください:単なる出版だけでなく、暗号化者がミックスネット証明内の微妙なトラップドアを見つけるためのツールと知識を持っています。NSW分析とスイスポスト分析の両方に取り組んだVanessa Teagueは、シャッフル証明を読んで何か間違っていることに気付くことができる世界の数少ない人の1人です。
**「独立して確認可能」は「技術的にはどの市民でも確認可能」と同じではありません。**暗号化インターネット投票の場合、本物の独立した検証可能性には、適格な部外者からの能動的でオープンな関与が必要です——研究者が自分たちの主導で見ることに決定した後にそれを容認するプロセスではなく、それを主動的に要求するプロセス。
ブラジルの選挙裁判所は選挙サイクルごとに公式の公開セキュリティテストプログラムを実行し、適格な市民にシステムを破ろうとして彼らが見つけたものを修正するよう招待しています。これは完璧なモデルではありません——特定の構成で特定の時点で特定のシステムをテストしますが、テストに表示されなかった問題は本番システムに依然として存在する可能性があります。しかし、それはオープンで対立的で、偶発的で時折的ではなくて制度化されているため、構造的にはクローズドレビューよりも優れています。
何がまだ確認できないか
ここに、公式NSW投票後レビューも独立した研究論文も知らせることができないのは次のことです。修正が展開される前に投じられた280,000票のいずれかが改ざんされたかどうか。
悪意のためではなく。誰も何かを隠しているためではなく。しかし、その質問が事後的に回答されるのを許すするためにシステムが設計されていないため。投票が提出される前に実行されたことを投票者が確認できるレコードはなく、その後に比較することができます。有権者が投票がどのように数えられたかを確認するために調べることができる暗号化監査証跡はありません。投票を確認する機能を果たした可能性のある電話確認サービスもが同様に侵害された可能性があります。
これはどの公式声明も閉じることができないギャップです。当局は——実施したのと同じように——言うことができるのは、彼らは投票がされていることを認識していないことです。これは誠実な声明です。また、反論不可能な声明です。「認識していない」と「起こらなかった」は質問全体の幅で分離されています。
ドイツ連邦憲法裁判所の基準はここで繰り返す価値があります。それは完全な力で適用されるためです。投票から結果までの本質的なステップが市民によって専門知識なしにチェックできる場合にのみ選挙は正当です。脆弱な接続経由でコードをロードするオンライン投票の場合、有権者は受け取ったコードがサーバーが送信したコードであることを確認することはできません。それ自体が操作される可能性のある検証サービスの場合、有権者は確認が実際であることを確認することはできません。遡及的監査証跡がないシステムの場合、それを実行した当局は投票が変更されていないことを確認することはできません。
正しい質問は「改ざんの証拠を見つけたか」ではありません。正しい質問は「改ざんが発生した場合、誰かそれを見つけることができた可能性があるか」です。
2番目の質問への答えが「ない」の場合、1番目の質問はまったく保証を提供しません。
このギャップが世界中のシステムにどのように表示されるかを探索してください →
ソース
- Halderman、Teague——ニューサウスウェールズ州iVoteシステム:ライブオンライン選挙のセキュリティ障害と検証の欠陥、E-Vote-ID 2015 (arXiv:1504.05646)
- Wolchok、Wustrow、Halderman、Prasad——ワシントンD.C.インターネット投票システムを攻撃する、Financial Cryptography 2012
- Springall、Finkbeiner、Durumeric、Kitcat、Hursti、MacAlpine、Halderman——エストニアインターネット投票システムのセキュリティ分析、ACM CCS 2014
- Lewis、Pereira、Teague——これは証明ではありません (Scytl-SwissPostインターネット投票システムのトラップドアコミットメント)、2019
- Bundesverfassungsgericht、2009年3月3日の判決、2 BvC 3/07および2 BvC 4/07 (英訳)
- GAO-05-956、「選挙:電子投票システムのセキュリティと信頼性を改善するための連邦の取り組みが進行中ですが、主要な活動を完了する必要があります」(2005年9月21日)