© Лили Тоушек
Колко избирателни секции трябва да се проверят, за да се засече скрита в кода на машините манипулация на вота?
Извънредна новина
Най-важните новини в момента, в който се случват - директно в имейла Ви.Текстът е препубликуван от блога на "Данни за добро".
Докато стилът на този пост е шеговит, той сериозно илюстрира как дори и минимален извадков контрол на бележките от машините за гласуване би засякъл скрит в софтуера опит за манипулация на вота.
Нека проиграем следния сценарий:
Тео има неограничен достъп до кода на машините за гласуване. Достатъчно сръчен е да може да го пренапише така, че той да прави каквото си поиска. Твърдо решен е да се възползва злонамерено от този свой достъп, за да подобри резултата на любимата си партия (ЛБ).
Тео ще добави няколко реда код, които да "бутнат" резултата на ЛБ с 10 процента. За да стане това, всяка машина ще трябва да подмени автоматично вота на всеки десети гласоподавател и вместо за партията, за която е гласувал, да запише един глас повече за ЛБ.
Дотук добре, но Тео знае, че освен записа в паметта, машината разпечатва и бележка, която гласоподавателят пуска в кутията. Ако той я погледне и на нея пише ЛБ вместо партията, за която наистина е гласувал, той ще се оплаче на членовете на комисията и планът за подмяна ще бъде провален.
Затова Тео решава да инструктира машината да разпечата бележка с истинския вот на избирателя, но да запише глас за ЛБ в паметта. Така гласоподавателят бива успешно заблуден и за да бъде засечена измамата, трябва да се сравнят бележките в кутията с данните в паметта на машината.
Тео знае, че такава проверка няма да се направи във всички секции и затова решава да сметне каква е вероятността при проверка на даден брой секции на случаен принцип неговата манипулация да бъде засечена. Очевидно, ако всяка машина е компрометирана, вероятността е 100%, защото дори една секция да бъде проверена, разликата между протокола и бележките ще бъде засечена.
Дали обаче няма някакъв начин да се добави едно условие в кода, което да намали броя на машините, в които има подмяна, така че вероятността да бъдат засечени при проверка да е приемливо малка.
Тео разбира се е много добър по математика (както и в търсенето в Гугъл). Той бързо намира отговор на въпроса си в този пост в StackExchange.
Тео научава че, дистрибуцията на определени избрани елементи (в случая компрометирани секции) в случайна извадка без повтаряне е хипергеометрична. Тя може да се сметне със следното уравнение
Където:
- N e популацията (общ брой секции = 13 000)
- K е общия брой избрани елементи (компрометирани секции)
- n e размерът на извадката
- k e броя избрани елементи в извадката, (в случая 0)
- P (W=k) е вероятността да има k елемента в извадката
Тео обича риска и решава да провери при колко машини вероятността да бъде заловен е по-малка от тази да не бъде заловен или
P (W=k) > 0.5.
Ето резултатите:
- При 10% извадков контрол K=1300. Максималният брой секции, които може да компрометира, е 6
- При 5% извадков контрол K=650. Максималният брой секции е 14
- Дори и само 1% от секциите да се проверяват K=130. Ако Tео компрометира повече от 70 секции, вероятността да го хванат е по-голяма от 50%