Те отвориха интернет пилота за гласуване пред публиката. Той се срути за 48 часа.
Екип от университет пробива интернет пилота за гласуване във Вашингтон Ди Си, промени всеки бюлетин и накара сървъра да пуска боен химн — и официалните лица не забелязаха за дни.
Е септември 2010 година, и някъде на сървър във Вашингтон Ди Си се пуска боен химн на Университета на Мичиган.
Не защото някой го е насрочил. Защото екип от изследователи току-що поеха контрола на живо функциониращата система за интернет гласуване — промениха всеки бюлетин в нея, прочетоха всеки таен глас, и след това, като визитна карта, програмираха сървъра да пуска "The Victors" след всяко имитирано гласуване. Успяха за приблизително 48 часа. И няколко дни подред, никой в Борда по избори на Вашингтон Ди Си не забеляза нищо.
Това е където история започва. Не със заговор, не със чужд противник, не със тесен резултат. С университетски изследователски екип, публично поканване и уязвимост, която падна за два дни.
Пилотът, който почти не беше тест
През 2010 година Вашингтон Ди Си се опита да направи нещо наистина прогресивно. Чужди и военни избиратели се сблъскаха с реални препятствия при връщането на своите бюлетини навреме. Град изгради интернет система за връщане на бюлетини, за да разреши това — и преди действително да я развърши на реални избори, официалните лица направиха нещо почти небивало: те я отвориха пред публиката за враждебно тестване.
Те я нарекоха отворен опит. Те публикуваха сървъра. Те казаха на света: дойдете да намерите какво е грешно.
Екип под ръководството на Дж. Алекс Халдерман — Скот Волчок, Ерик Устроу, Халдерман и Дипак Прасад — се появи. В рамките на приблизително 48 часа те използваха софтуерна уязвимост и придобиха почти пълна контрола на пилотния сървър. Те можеха да променят бюлетини, които вече бяха хвърлени. Те можеха да прочетат гласове, които трябваше да бъдат тайни. Те демонстрираха това, като преконфигурираха системата да пуска боен химн на Университета на Мичиган след всеки глас. Проникването остана необнаружено от официалните лица за дни. Откритията впоследствие бяха публикувани като рецензирана статия "Attacking the Washington, D.C. Internet Voting System" на Financial Cryptography 2012.
Вашингтон Ди Си отказа планове да използва системата за живи обвързващи гласове.
Уязвимостите бяха открити точно защото град отвори системата пред публично нападение преди реални бюлетини да са в риск. Публичното враждебно тестване превърна почти катастрофа в открит дефект.
Това е целия урок на история — но отнема някакво разясняване за разбиране защо е толкова трудно да действаме в съответствие.
Какво всъщност тества "сертифицирано"
Ето какво поразява повечето хора, когато първи път срещнат този случай: нямаше ли системата преглед преди да бъде отворена за публично тестване? Почти сигурно да — в някаква форма. Системите за избори обикновено преминават през проверки на сигурност, тестване от производител и процеси на сертификация. И все пак екип от изследователи на ниво дипломант ходи през входната врата за 48 часа.
Това не е критика на официалните лица, които изградиха системата на Вашингтон Ди Си. Това е критика на концепцията за затворено сертифициране като заместител на открито враждебно преглед.
Американското управление по счетоводство документира още през 2005 година, че федералните усилия за подобряване на сигурността и надеждността на електронното гласуване бяха "в ход, но че ключови дейности остават незавършени" — години след като Законът за помощ при американския глас наложи създаването на инфраструктура за сертификация. 框架-ите за сертификация помагат. Но сертификация е оценка, проведена в определен момент, от определен набор преглеждащи, срещу определен модел на заплаха. Интернетът не уважава този модел. Той изпраща всеки нападател в света — едновременно, непрекъснато — срещу твоята система в момента, в който е достъпна.
Случаят на Вашингтон Ди Си е доказателство на пропастта. Не защото Вашингтон Ди Си беше неотговорен, а защото екипът, който се пробива, не беше служба за чужда разузнавателна дейност. Те бяха академици с няколко дни и изследователски бюджет. Ако университетски екип може да овладее контрола и размени всеки бюлетин за 48 часа, нападател на ниво държава с месеци подготовка и посветен персонал няма да нуждае от боен химн, за да обяви присъствието си. Те не биха оставили нищо.
Урокът от Нов Южен Уелс: одобрено не означава чисто
Спасението на Вашингтон Ди Си беше, че тестването се случи преди реални бюлетини да са вътре в системата. Не всяка юрисдикция имаше такъв късмет.
В март 2015 година Нов Южен Уелс пусна своята iVote система за онлайн гласуване по време на живо щатско избиране. До момента, в който независими изследователи Дж. Алекс Халдерман и Ванеса Тийг публикуваха своя анализ, приблизително 280 000 гласа вече са били хвърлени. Техните откритя: iVote зареди код от външен аналитичен сървър по връзка, уязвима на тогавашни TLS слабости, което означава, че мрежов нападател може да бъде манипулирал гласове и компрометирал поверителност на бюлетина. Телефонно базирана служба за проверка, която избирателите могли да използват, за да потвърдят своя глас, сама по себе си беше подложена на манипулация — отричайки своята цел като проверка. Предшестващ затворен преглед на сигурност беше одобрил системата. Изследователите намериха проблемите така или иначе, отвън, по време на живо избиране. Поправки бяха развърнати, докато гласуването все още беше в ход. Но 280 000 човека вече бяха гласували на система, чиято интегритет не можеше да бъде независимо потвърдена в момента, в който те гласуваха.
Прочетете анализа на изследователите тук.
Това е разликата между модела на Вашингтон Ди Си и алтернативата. Една система беше счупена и открита преди да има значение. Една беше счупена и открита по средата на полета.
Проблемът с криптографията: дори "проверяемо" може да бъде фалшифицирано
Може да мислите: решението е край-до-край проверяема криптография. Изградете система, където избирателите могат да проверят своите собствени бюлетини, и независимо математици могат да потвърдят събиранието без да виждат чий да е глас. Това е правилната посока — но криптографията трябва да е правилна.
През 2019 година, преди планирано използване в обвързващи швейцарски гласове, Швейцарската поща и нейния производител Scytl публикуваха изходния код на своята интернет система за гласуване пред публично внимание. Независимите изследователи Сара Джейми Люис, Оливие Перейра и Ванеса Тийг намериха нещо необикновено: доказателството за смесване на микснета разчиташе на схема на обещание със скрита врата. Орган, който знаеше скритите стойности, може да генерира доказателство, което изглеждаше математически коректно — което би преминало проверка — докато всъщност замени гласове под него. Изследователите наречоха своя доклад "Ceci n'est pas une preuve." (Това не е доказателство.) Швейцарската поща и Scytl признаха откритието. Швейцария суспендира системата, очаквайки поправяне.
Прочетете откритията на изследователите тук.
Дефектът беше невидим в сертифицирана черна кутия. Той стана намираем в момента, в който изходният код и криптографските доказателства бяха публикувани пред независимо преглед. Претенция за проверяемост е смислена само когато външни експерти могат да я инспектират и потвърдят — или да я опровергаят. В момента, в който инспектируемостта е премахната, претенцията става артикул на вяра.
Это е защо Вашингтон Ди Си направи открит публичен тест бяха правилния инстинкт, дори и резултатът да беше болезнен. Это е защо Швейцария публикува своя изходен код беше правилния инстинкт, дори и резултатът да беше открита скрита врата. Правилния модел боли, когато работи — защото намира какво затворените модели пропускат.
Какво ни научи Естония за "никой не намери нищо"
Естония провежда обвързващо национално интернет гласуване от 2005 година. Нейната система често се цитира като златния стандарт на интернет гласуване: висока участност, технически усъвършенствана, достъпна за всички граждани с карта е-самоличност. Органът по избори на Естония последователно я е защитавал.
През 2014 година независим изследователски екип — Спрингол, Финкбайнер, Дюромерик, Киткат, Хърсти, МакАлпин и Халдерман — наблюдава операцията на системата по време на октомврийските муниципални избори 2013 и изучава публикувания клиентски софтуер и конфигурация на сървър. Намериха сериозни операционни и процедурни слабости в сигурност, включително небрежни практики на сигурност, уловени в официални видеоклипове на органа. Техния рецензиран извод, публикуван на ACM CCS 2014: добре ресурсиран нападател — или нечестен инсайдер — може правдоподобно да компрометира интегритета на гласове без открива. Те препоръчали Естонии да преустанови системата. Органите на Естонии оспориха заключенията.
Ево критичната точка: изследователите могли да направят този анализ само защото кодът и процедурите на системата бяха поне частично публични. Ако системата беше напълно затворена собствена кутия, нямаше да има какво да анализираме. Отсъствието на откритие в този случай би означавало: не можахме да погледнем, а не няма нищо там.
"Никой не намери нищо" и "предотвратихме всеки да гледа" не са един и същи израз. Те произвеждат еднакви официални пресс релизи.
Защо Норвегия се отдалечи без скандал
Норвегия провежда интернет пилоти за гласуване през 2011 и 2013 години, в десет и след това дванадесет общини, като допълнение към хартиено гласуване. Опитите не водеха до увеличена участност. През 2014 година Министерството на местното управление и модернизация решило да преустанови допълнителни пилоти. Правителството заключи, че при отсъствието на широка политическа поддържка за пълно интернет гласуване, харчене на допълнително време и пари на пилоти не е уместно — и цитира неразрешени проблеми на доверие наред с данните за участност.
Официалното изявление на министерството е тук.
Решението на Норвегия привлича по-малко внимание отколкото боевия химн на Вашингтон Ди Си или скритата врата на Швейцария. Нямаше драматично пробиване. Имаше просто честно счетоводство: не можехме да осигурим доверие, че гласове не бяха променени, участността не се повиши, и цената на продължаване без решаване на проблема на доверието не беше стойност.
Това е зряла institucionaln отговор. Това е също шаблон, който почти никога не е следван, защото политици, които подкрепиха технология, редко желаят да бъдат тези, които я спиране.
Моделът за враждебно тестване: какво правилно направи Бразилия
Има по-добър модел от затворено сертифициране, и Бразилия го провежда от 2009 година.
Висшия избирателен съд на Бразилия (Tribunal Superior Eleitoral) провежда официален Тест за публична сигурност — Teste Público de Segurança dos Sistemas Eleitorais — регулиран от TSE Резолюция 23.444/2015 и провеждан през годината преди общите избори. Всеки отговарящ гражданин, чийто план за тест е одобрен, може да проба електронната машина за гласуване и свързаните системи за слабости. Системите, отворени за тестване, обхващат цялата електорална жизнена цикъл: генериране на бюлетин медия, гласуване, събиране, предаване на файлове и системи за одит. Откритията се използват за подобряване на системите, и поправките се проверяват отново преди изборите.
Официалната страница на програмата на TSE е тук.
Бразилия не претендира, че машините й са непробиваеми. Тя претендира нещо по-вярно: дойди и опитай да ги счупиш, и ще поправим какво намериш. Това е институционална версия на точно това, което направи Вашингтон Ди Си веднъж, само че Вашингтон Ди Си го направи веднъж и Бразилия го прави като стандартна практика преди всеки цикъл на избори.
Германския конституционен съд артикулира основополагащия принцип през 2009 година, когда забрани използването на машини за гласуване, чиято операция не можеше да бъде изследвана "от гражданина надежно и без специализирани познания." Стандартът на съда не беше "експерт го сертифицира." Той беше: обикновен гражданин трябва да бъде в състояние да проверка съществени стъпки. Прочетете решението тук. Това е по-висок бар от всяко сертифициране може да отговори — и по-нисък бар от онова, което интернет гласуване в момента преодолява.
Какво не беше проверяемо в Вашингтон Ди Си — и все още не е повечето места
Открития опит на Вашингтон Ди Си направи всичко правилно и все още почти не произведе катастрофално пробиване живо избиране. Боевия химн го спаси — не защото доказа, че системата е неудачна, а защото беше достатъчно гучав, че официалните лица в крайна сметка забелязаха. Реален нападател променя бюлетини тихо. Реален нападател не се обявява.
Случаят на Вашингтон Ди Си не е успокоение. "Тестахме го публично и намерихме критична дефект преди да се пусне" е най-добрия възможен резултат на публично враждебно тестване — и този най-добър възможен резултат все още е: системата беше счупена. Урокът не е, че открито тестване гарантира безопасна система. Урокът е, че без открито тестване, не можеш да знаеш дали системата е счупена, докато реално избиране вече е работело на нея.
Дълбочия проблем остава открит навсякъде, където интернет гласуване е развърнато или предложено: кой проверяваше кода? Кой се опита да счупи сървъра? Кой проверяваше криптографските доказателства? И можеш ли ти — не производител, не официално лице, не сертифициран лаб — да проверяш всичко това независимо?
Когато отговорът е не, "системата премина своя преглед на сигурност" и "Секретарят на държавата казва, че е добре" са един и същи заверка в различни шрифтове.
Резултат на избиране не трябва да зависи от доверие в производител, официалните лица или сертифициращото орган. Трябва да зависи от публикуван, независимо проверяем верига на доказателства, която всеки със правилните умения може да проверя — и че всеки, който намери дефект, може да докажи публично, начина, по който направи Халдермановия екип през 2010, начина, по който правиха Люис, Перейра и Тийг през 2019, начина, по който всяко открито враждебно тестване е дизайнирано да позволи.
Това не е невъзможно висок бар. Това е барът, който Вашингтон Ди Си случайно постави, когато пригласи публиката. Боевия химн беше звукът на този бар, който работи.
Уязвимост, открита при публично тестване, е поправена дефект. Уязвимост, никога не тестана, е мълчалива — и мълчанието не е същото като безопасност.
Вижте колко често тази пропаст на прозрачност е в различни системи и държави →
Прочетете 2-минутната версия на какво прави избирането проверяемо →
Изследвайте документирани пропасти в проверяемост на избирането →
Източници
- Wolchok, Wustrow, Halderman, Prasad — Attacking the Washington, D.C. Internet Voting System, Financial Cryptography 2012
- Halderman, Teague — The New South Wales iVote System: Security Failures and Verification Flaws in a Live Online Election (arXiv:1504.05646)
- Lewis, Pereira, Teague — Ceci n'est pas une preuve (trapdoor commitments in the Scytl-SwissPost Internet voting system), 2019
- Springall, Finkbeiner, Durumeric, Kitcat, Hursti, MacAlpine, Halderman — Security Analysis of the Estonian Internet Voting System, ACM CCS 2014
- Norwegian Ministry of Local Government and Modernisation — Internet voting trials (via Internet Archive)
- Tribunal Superior Eleitoral (Brazil) — Teste Público de Segurança dos Sistemas Eleitorais
- Bundesverfassungsgericht, Judgment of 3 March 2009, 2 BvC 3/07 and 2 BvC 4/07 (English translation)
- GAO-05-956, Elections: Federal Efforts to Improve Security and Reliability of Electronic Voting Systems Are Under Way, but Key Activities Need to Be Completed (Sept. 21, 2005)