Коментари по доклада за съответствие на машините за гласуване

Post Syndicated from Bozho original https://blog.bozho.net/blog/3722

Държавна агенция „Електронно управление“ публикува обобщена версия на доклада за съответствие на машините за гласуване.

На първо място – трябва ЦИК да публикува всички протоколи към доклада, а не само тази обща част. Тя оставя много въпроси по детайлите (но все пак е добре, че я има).

Извън това, имам следните общи коментари. Някои от тях може би са твърде технически, но ще опитам да дам и разяснения по тях:

  • Предоставени са три машини. Това е малко, като не става ясно от кои партиди на доставка са били, т.е. дали от всяка доставка има поне по една машина.
  • В доклада пише, че „За цялостното произвеждане на изборен процес чрез ТУМГ се използват допълнителни инструменти създаването на Image и инсталирането на операционната система и приложния софтуер.“ – т.е. за всеки избор има отделен image на операционната система плюс приложния софтуер. Според мен е по-добре да има един image на операционната система, а изборите да се конфигурират на приложно ниво. Иначе стои възможността изискванията към операционната система, които според доклада са спазени, да не бъдат спазени при друг image
  • Пише също така, че „Операционната система, инсталирана в основната памет на ТУМГ, има вградена функция, която при всяко зареждане, изчислява контролна сума (”хеш”). Този „хеш“ се визуализира на екрана със системна информация и се отпечатва върху служебните разписки. Чрез проверка за съвпадение с предварително изчисления „хеш“ на компонентите подготвени за инсталиране в ТУМГ се удостоверява и може да се гарантира автентичността на инсталирания в основната памет на ТУМГ базов и потребителски софтуер;“ – това е много важно. Всички застъпници и наблюдатели трябва да поискат от секционните избирателни комисии тази разписка и да яснимат, за да се установи дали всички машини имат идентичен хеш (както се очаква в рамките на един избор). Друг коментар тук е, че не трябва да се разчита на вградената функционалност за изчисляване на хеша, защото тя може да бъде подменена и да визуализира не реалния, а избран хеш. Т.е. трябва при предварителен и последващ одит да се използва външен механизъм за това (поне върху артефактите на приложния софтуер)
  • Докладът казва и следното: „Промените в „образа“ (дизайна)на бюлетината се реализират чрез промени в изходния код на приложението. При произвеждане на нови избори, в които се налага промяна в „образа“ на бюлетината, е необходимо препрограмиране, компилиране и нова инсталация на приложния софтуер в ТУМГ“ – това е много странно решение. Дизайн трябва да може да се реализира чрез шаблони, които да се настройват, вместо да се компилира наново цялото приложение за гласуване. Компилирането наново означава, че освен дизайна, някой може да промени и функционалност по отчитането.
  • Данните и номенклатурите за съответния избор се зареждат чрез USB флаш памет на всяка машина. Прозрачността на този процес не е описана в изборния кодекс, а би следвало съдържанието на тази флаш памет да бъде гарантирано (подписано), и публикувано предварително.
  • Докладът отбелязва, че „При невъзможност имената на партиите и кандидатите, да бъдат визуализирани на един екран, бюлетината се извежда на няколко последователни екрана и преминаването към всеки от тях се извършва с бутони;“ – това е потенциален проблем за партии с по-задни номера. „Моята партия я няма тука“ е нещо, което хора могат да си кажат, докато опитват да гласуват. Не казвам, че е лесно да се направи интерфейсът така, че хем да е идентичен с хартиената бюлетина, хем да не крие част от партиите/коалициите, и този проблем е отчасти заложен от самия Изборен кодекс, но трябва да се отбележи.
  • Протоколът се записва на файл на флашката и се подписва електронно. Докладът, обаче, не казва с какъв частен ключ се случва това и как се управлява той, съответно къде се съхраняват публичните ключове. Дали има един ключ за всички машини или се генерира отделен ключ за всяка? Използват ли се смарткартите на СИК-овете или се съхранява отделно, и ако да – това място защитено ли е от изтичане (съответно от възможността някой да вземе ключа и да подпише нов, фалшифициран протокол). В техническата спецификация се говори за генериране на ключове, но от доклада не става ясно как машините поддържат описания там процес.
  • Техническата спецификация изисква покритие с автоматизирани тестове на поне 70%. Това не е установено от доклада, макар че изглежда, че достъп до изходния код е бил предоставен
  • В доклада много бегло се споменава как е протекъл анализа на изходния код, както и откриването на уязвимости – не се посочва дали са сравнявани наличните компоненти с бази данни от уязвимости (NVD/CVE). Не изглежда да е прилаган статичен анализ на кода за откриване на уязвимости (SAST)
  • Установена е липса на ПИН пликове – това не е драматично и не е част от машините, но изпълнителят трябва да го предостави в изборния ден. Наблюдателите и застъпниците е добре да следят дали такива пликове са налични.
  • Следният сценарий не е изпълнен: „Тестване на модула за валидация и обобщаване на контролни записки, както и проверка на съдържанието на ЗТУ и основната памет на дефектирала машина –чрез устройството за четена на 2D бар кода“, защото от ЦИК не са предоставили необходими документи. Това е притеснително, защото проверката на съдържанието е важно за интегритета на машинния протокол
  • В техническата спецификация има изискване системната информация да бъде електронно подписана. От докладът не става ясно дали това е така.
  • „Всеки запис е в отделен файл, със случайно генерирано име, а всички файлове имат една и съща дата и час.“ – имената вероятно зависят от текущото време, което се използва за генератора на случайни числа (съответно имена). Не изглежда да е направен анализ дали може от имената да се извлече поредността. Това е сложна задача и може би не попада в обхвата на такъв доклад, но в дългосрочен план тази функционалност трябва да се прегледа.
  • Споменава се, че дисковите дялове са криптирани, но не се казва с какъв ключ и дали е full disk encryption, както пише в техническата спецификация. Може би в протоколите има повече детайли.

Със сигурност е редно да бъдат публикувани детайлните протоколи. Редно и поне след изборите да бъде даден достъп на външни експерти да разгледат машините. Редно е ЦИК да предостави достъп до данните от флашките, както и наблюдателите и застъпници да снимат разписките със служебна информация.

Дали машините са сигурни или не, не мога да кажа. Докладът е позитивен, но също така поставя въпроси. Машините все още са черни кутии за избирателите и това трябва да се промени.

Материалът Коментари по доклада за съответствие на машините за гласуване е публикуван за пръв път на БЛОГодаря.