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

(снимка: Estonian Public Broadcasting, news.err.ee)

Наближава референдумът по въпроса дали да въведем дистанционно електронно гласуване по Интернет. Медиите бълват статии – и особено коментари – дали и колко сигурен е този начин да упражняване на вота.

Забелязват се огромни приливни вълни от лаици, които може би добросъвестно, но твърде умозрително или повърхностно разсъждават по специфични въпроси, които не са по силите им.

Продължават да се ширят и масово отдавна разбулени, несвързани с електронното гласуване митове. Например, че гласовете се броят от “чували” – тотално невярно: броят се по данни на секционните избирателни комисии. Те от своя страна са ги преброили пред наблюдателите и застъпниците и изпратили протоколите веднага в РИК/ЦИК по факс или емейл.

Сред тази какафония, обаче, има и скептици, базиращи своето отрицателно отношение към е-гласуването на сериозни анализи на независими експерти.

Особено популярни са дискусиите за най-напредналата с електронно гласуване в света държава – Естония. Масово известни – цитирани в западаната преса и в България – са критичните видеопрезентации на професор Дж. Алекс Халдерман към естонската система.

Като старши специалист с над 10 години стаж в областта на информационната сигурност в мултимилиардна канадска компания, това няма как да не привлича моето внимание.

Няма “загадка” какво е моето лично мнение за това може ли да се подобри естонската система или дали може да се направи още по-добра такава. Фактът, че съм един от 42-мата членове на най-големият и най-известен граждански Инициативен комитет в подкрепа на електронното гласуване “Гласувай без граници” с представляващ тенис-легендата Мануела Малеева, говори красноречиво.

Че не само аз съм на това мнение говори и друг факт: във въпросният инициативен комитет сме 15 дългогодишни ИТ-професионалисти и ИТ-предприемачи. Отделно, към ИК има 5-ма експерти по информационни технологии. Няколко от всички тези професионалисти сме специализирани в информационна сигурност.

Безспорно, видеопрезентациите на проф. Халдерман са ефектни. В тях са показани някои съществени слаби страни на естонската система за гласуване.

Но огромна част от откритията за “несигурност” не е толкова в технологиите. Самият професор признава, че естонците са разработили една сложна система с много добър дизайн на сигурността.

Най-големите проблеми, посочвани в най-известните му презентации, са в областта на прилагането на елементарни процедури и правила за оперативна сигурност.

Какво е оперативната сигурност? Това е да има подробни и завършени, описани процедури да се прилагат най-добрите практики в областта на информационната сигурност, съпътстващи изграждането и експлоатирането на една техническа система.

Ето един пример: оставяте ли ключ под изтривалката пред апартамента си? Някои все още го правят. Това е лоша оперативна сигурност: вие знаете, че не трябва да оставяте ключ там, защото е леснодостъпно място и защото е известно, че се прави.

Точно такива са много голямата част от проблеми, които са открили професор Халдерман и неговия екип. Примерите, които той дава, са почти само за липса или неспазване на елементарни процедури и правила.

Някой ще възкликне: след като естонците не са ги спазили, каква е гаранцията че ние ще ги спазим?
Аз бих попитал: а какви са гаранциите, че се спазват механизмите за защита на изборите от манипулации при сегашното (физическо) гласуване? Такива гаранции има точно колкото и при бъдещето електронно гласуване – можете да се убедите от публикацията на Йовко Ламбрев.

Забележете, че голяма част от тези “открития” за несъвършена сигурност в естонския процес на е-гласуване стават известни не защото са открити от проверяващи ии изследователски екипи, а заради доброволна инициатива на самия екип на естонците – да заснемат видео, демонстриращо как работи целият процес. Това, разбира се, не ги оправдава за много от недостатъците – известна поговорка в средите на информационната сигурност е че “скриването не е начин за сигурност.”

Голямата част от списъка на тези недостатъци на оперативната сигурност може да се коригира с елементарни и известни начини на организация – като например избор на множество екипи, които да се контролират взаимно. Други са просто азбучни случаи на пропуски в елементарни процедури за сигурност, каквито например не се допускат в сериозни организации, като най-големи телекомуникационни фирми. Познания и дисциплина да не ги допускат имат не само специалистите по сигурност, но и всички други участници в процеса, дори и не-технически ориентираните.

За да убедим скептиците, че е възможно тези пропуски не са ни най-малко сериозни или фатални и могат да бъдат преодолени, ще трябва да навлезем в технически подробности.

Някой ще възкликне: “Ама това е много сложно!” Да, сложно е. Но е дългогодишна практика, не нещо ново. “Дяволът – както се казва – се крие в детайлите”. “Ангелът също” – бих си позволил да добавя аз.

Ядрените реактори да не би да не са много сложни? А самолетите? При това от спазването на процедурите и правилата за тяхното правилно опериране зависи не просто един вот, а животът на стотици или дори милиони хора.

Затова нека се заемем с примерите на посочените пропуски в оперативната сигурност на естонския процес е-вота и как те могат да бъдат преодолени със стандартни, отдавна известни практики и технологии:

ПРОПУСК 1: “Сървърът, където се разработва софтуера за е-гласуването, е свързан директно към Интернет и така е атакуем както отвън, така и от инсталирането на вреден софтуер (“malware”) който да вкарва несигурност отвътре навън”.

Всяка уважаваща себе си организация има инфраструктура извън сървъра – защитна стена (firewall) и сървър за достъп до Интернет (proxy), през които трябва да се мине, за да се стигне до Интернет. Допълнително, основен принцип на сигурността е вътрешната мрежа на една организация да се сегментира като сървърите и другите важни елементи са на отделен сегмент, разделен с втора защитна стена от останалите компютри на “вътрешната” мрежа.
Основен принцип е както сървърите, така и вътрешната защитна стена по подразбиране да не позволяват връзка към Интернет.
Как ще защитите от някой, на когото му “трябва Интернет”, но е сам на сървъра в момента, от това да пренебрегне правилото и да се свърже директно към Интернет?

Елементарните стандартни практики за това са отдавна разработени:

  • поддържащите сървъри и поддържащите защитни устройства (като защитни стени) да са различни роли изпълнявани от напълно различни екипи, подчинени на различни мениджъри
  • административната парола за сървъра или защитното устройство (например firewall) се въвежда от няколко души (например 2-ма или 3-ма, а най-добре – два екипа от по 2-ма или 3-ма). Всеки от тези 2-ма или трима знае само част от паролата. Така за да се влезе в режим на администрация на сървъра или устройството, трябва да присъстват всички 2-ма или 3-ма, като всеки последователно въвежда своята част от паролата. (Това е много стар механизъм – използван е за защита срещу злоупотреба за касата на Рилския манастир, например).

Чрез този начин се гарантира с много висока сигурност, че никой няма на своя глава – без да бъде премислен и оценен риска – да промени важни настройки на сървъра и така да застраши сигурността му.

Някой ще опонира, че това е много “тежка” процедура – изисква ангажирането едновременно на твърде много хора. Да, тежка е – но след като искаме възможно най-минималните рисков, трябва да сме готови да платим “цената” за това.

ПРОПУСК 2: “Използван е много слаб хеширащ алгоритъм за проверка интегритета на данни (SHA-1)”

Този пропуск се коригира елементарно (доста учудващо е въобще защо естонците са използвали толкова стар и отдавна обявен за слаб механизъм). Използва се просто много по-неразбиваемия SHA-512 (не струва нищо повече особено – малко повече време на компютъра да изчислява, но няма състезание да се извършва гласуването за микрочастица от секундата, нали?)

ПРОПУСК 3: “WiFi парола за мрежата на системите за гласуване се вижда написана на стената в една от стаите за разработка” (вижда се във видеото, направено от самия естонски екип за да покаже сигурността на процеса на е-вота).

Елементарна сигурност, която може да се гарантира от знаещи мениджъри, както и от взимноконтролиращи се добре обучени екипи..
Също така, от видеото въобще не става ясно дали в тази WiFi мрежа са включени сървърите и компютрите за разработка на софтуера за гласуване – тя би могла спокойно да е само за свързване към Интернет, например.

ПРОПУСК 4: “Ползва се онлайн услуга за дейности, които може да афектират сървърите: конкретно, вижда се как екипа разработва конфигурационни настройки ползвайки онлайн услуга.”

Отново – елементарна оперативна сигурност: ако е нужен Интернет, той се ползва на други компютри на друга мрежа, различна от тази на сървъри и работни станции за разработка , тестване и реализация на системата за е-вота. Пренасянето на информация от едната на другата мрежа може да става с междинни компютри, където да се прехвърля изработеното или сваленото от Интернет, да се сканира и да бъде достъпвано по другата мрежа, като първо компютъра бъде откачен от първата мрежа.

ПРОПУСК 5: “На работните станции за разработка на софтуера за е-гласуване има инсталирани ИГРИ и друг съмнителен софтуер“

Безспорно крайно аматьорско “изпълнение” на естонските колеги. Липса на елементарната практика на сигурността в случая е просто въпиюща – това е правило №1 на сериозно разработване на софтуер въобще от всяка елементарно уважаваща се организация.

Работните станции за разработка на е-вот софтуера трябва да са централно поддържани и “заключени” максимално срещу конфигурационни промени. Те трябва да не са притежание на разработчиците. Изготвящите софтуера не трябва да имат административни права върху тези станции. Софтуер трябва да се инсталира само от друг, отделен екип занимаващ се само с поддръжката им, и то само след изрично поискване и одобряване от мениджмънта. Станциите трябва да бъдат постоянно сканирани за промени в конфигурацията.

Всичко това са масови практики във всяка средна и всички големи фирми.

За проект като този – изискващ максимална степен на сигурност заради твърде голямата цена ако изборите бъдат фалшифицирани заради технологиите – трябва да се инсталира не само стандартния анти-вирусен софтуер, но и софтуер за наблюдение на интегритета (File Integrity Monitor – FIM) на всяка станция.

ПРОПУСК 6: “Ползване Windows компютри за разработка”

Всеизвестно е от десетки години, че – най-вече заради своето широко разпространение: над 90% от лаптопите и десктопите в света са Windows – това е платформата, за която има най-много вируси, “троянски коне” и най-успешни атаки.

Затова сигурността може значително да се подобри с наемане/обучаване на разработчици на платформи като Mac OS X или Linux, които да бъдат “домакин” на “виртуална” Windows система, изпълнявана вътре в тях и единствено ползвана за разработката.

Така ще е много по-сигурно изработването на софтуер за Windows (нали все пак повечето избиратели ще гласуват точно от Windows!), докато в същото време се намали многокатно възможността за атаки и тайно, незабележимо вмъкване на нежелан и опасен софтуер. Много добра и напълно възможна практика би било най-малко всеки ден – а защо дори не всеки час – да се “освежава” (преинициализира) виртуалния Windows от начално, проверено и сигурно копие.

А сървърния софтуер най-добре да бъде разработен на не-Windows система.

ПРОПУСК 7: “Използват се на ЛИЧНИ компютри в работата по софтуера и системата”

Тук едва ли има какво повече да се коментира от вече описаното в Пропуск 4.

ПРОПУСК 8: “ПИН-кодове и пароли за критични части на системата – сървъри, електронни карти – се въвеждат с просто писане с клавиатурата, което може да бъде прихванато от почти всеки троянски кон/вирус.”

Този пропуск се коригира като се въведе задължителна практика – като процедура, както и като технология – да се ползва “виртуална” (изписваща се на екрана графична клавиатура). Тогава ПИН-кода/паролата се въвежда с щракане на мишката върху графичните образи на клавишите на екрана. Така една тайно инсталирана “подслушваща” програма няма да може да “прихване” от кои символи се състоят тези чувствителни информационни елементи.
Огромна част от хората сигурно не знаят, но такъв начин за писане има вграден в Windows, както и в много други системи.

Друг начин – когато е нужно въвеждане на пароли на само текстови екрани (например сървърни конзоли/командни прозорци) е да се ползват не прости пароли, а двойка публичен/частен ключ, защитена с парола. Логването тогава е възможно само ако и ключа е наличен (а той може да е на флаш памет или друг външен носител, които се прикачат към компютъра само в момента на логването/аутентикирането).
Последното не е абсолютна защита, но би спряло огромна част от враждебните подслушващи софтуери да копират и след това да използват ПИН-а/паролата.

ПРОПУСК 9: “Използват се твърде елементарни физически ключове за вратите и шкафовете на ИТ-центъра където са сървърите; много лесно да се копира ако някой го види”.

Отново неясен елементарен пропуск на физическата сигурност: всяка ключалка може да бъде “хакната”, но някои са много трудни и нужното време е много или инструментите – доста скъпи.
Тази заплаха се намалява значимо с ползване на по-сложни ключалки. Но да не забавяме, че ключът въобще е видян само благодарение на видеото, което естонците са направили, в което той попада случайно.

ПРОПУСК 10: “Използва се свързване на външни устройства – като USB флаш памет – към най-важните елементи на системата” (сървърите за приемане и броене на гласове).

Безспорно, на най-критичните елементи на системата могат да бъдат ограничени или изключени (чрез настройки в BIOS или операционната система) свързванията на несигурни устройства. Проблемът специално с флаш памет идва от факта, че така най-ефективно се инсталират “rootkits” (дълбоко “окопани” и трудни за откриване враждебни атакуващи програми). Точно по този начин е бил пренесен специализирания софтуер, с който бяха извадени от строя хиляди центрофуги за обогатяване на уран в Иран преди няколко години.

 

Освен гореизброените, има и още многобройни станали стандартни защитни механизми и идеи, които или не са били реализирани от естонския екип, или не е известно да с ползвани. Ще ги изброя набързо, но съвсем кратко казано те могат да повишат изключително много сигурността на една система за е-гласуване:

  • Програмата за е-гласуване, която се сваля от избирателя, да е на практика специално направена и максимално заключена “виртуална машина” – за да бъде много по-трудно атакувана от компрометиран компютър, от който се гласува
  • Защита на Интернет-свързаните сървъри – освен с обикновени мрежови защитни стени (firewalls) – и с облачно-базирани специализирани защитни стени за уеб-приложения (WAF). Такива услуги спират огромен брой атаки преди още въобще да стигнат до същинския сървър.
  • Динамично “въртене” на IP адресите на Интернет-свързаните сървъри – за да не могат да бъдат атакувани лесно с DDoS атака (“динамична разпределена атака” с цел забавяне или сриване работата на сървърите)
  • Ползването на няколкостотин – а не само няколко – сървъра за гласуване
  • Ползване идеята за “разпределено съхранение на данни” – на практика по пример на “торентите”, като криптирания глас се съхранява на всеки компютър на избирател, инсталирал си софтуера за гласуване; така ще стане абсолютно невъзможно да се подменят гласове на “централния” компютър за броене – както е посочено за слабост в естонската система
  • Ползване на български специалисти за разработката, но на чуждестранни специалисти за контрола, наблюдението и инсталацията на софтуера и техническите системи за е-гласуването
  • Ползване на много голям брой и географски пръснати по целия свят сървъри в специализирани и с висока сигурност информационни центове – за предотвратяване атака на българската Интернет-инфраструктура (единствената сериозна и доказана атака срещу естонското е-гласуване е осъществена точно по тази причина – е всичко е на “едно място”, в мрежата на една държава)

Разбира се, много от предложените решения на пропуските изискват наемането на много добре обучени и с голяма практика специалисти по информационна сигурност. евтино. Но след като искаме да осигурим много по-голяма степен на сигурност спрямо други дейности с електронни технологии, е само въпрос на воля да го направим.

Като заключение, трябва да не забравяме, че всяка зашита на система – техническа или не – е преодолима, защото по дефиниция е несъвършена. Не само заради многобройните непредвидени състояния, в които може да изпадне, но най-вече защото е създадена от несъвършени хора.

Въпросът е рискът да е достатъчно малък, за да е приемлив за обществото.
Ако чакахме всяка технология да бъде “100% сигурна”, щяхме да живеем вероятно още в пещерите.

13 thoughts on “Критика на критиката към естонската система за електронно гласуване

  • 18.09.2015 at 06:29
    Permalink

    Добра статия, в която чета собствените си опасения. Притеснява ме това, как в България все се претупват нещата. Че ще се появи нещо, ама не каквото трябва, и че ще бъдат оставени софтуерни вратички.
    Не става въпрос за техническото изпънение на защитата – сигурен съм, че ще се направи всичко възможно за защита на данните, но ме притеснява точно кой ще държи ключа за под изтривалката. Всяка система има администратори. Винаги има начин за манипулация, защото това е създаден софтуер, за който трябва поддръжка. А това е вратичка за въвеждане и изтриване на данни, пък дори и криптирани.

  • 18.09.2015 at 10:50
    Permalink

    Според мен, всякакви разсъждения за това дали е възможно или не да се защитят данните при електронно гласуване са излишни. Има начин това да стане и не това е проблема. За да има такава защита, ние приемаме априори, че хората които организират и изпълняват целия процес са добронамерени, дисциплинирани, организирани и т.н. Аз се съмнявам, че това приемане във всички случаи е ОК., т.е. трябва да има прост начин за контрол на тези хора и тяхната работа, който при ел. гласуване си е проблем. Точно за това в една Германия то не се приема, където израза “Ordnung muss sein” е докарал много владетели на власт (включително и Хитлер), защото германеца вярва, че “трябва да има ред”. Ние в какво вярваме, отговорете си сами?
    Някои вярват, че чрез ел. гласуване процеса ще е по-обективен. Да, така би било, ако всички по трасето са коректни хора на реда. Реално ли е да е така, при положение, че те трудно могат да бъдат проверени? Как да се проверяват? Това е въпроса.

  • 18.09.2015 at 10:55
    Permalink

    Г-н Стоянов, разбирам притесненията ви, но се надявам да не ви обидя като ги нарека “ирационални”. Такива са, защото са общи, а не конкретни – не са базирани на реалността.
    На важните решения се отделя ГОЛЯМО внимание и МНОГО контрол. Точно затова ядрени централи “гърмят” много рядко, а самолетните катастрофи са хилядократно по-малко вероятни от тези по пътищата с автомобили.

    Колкото за “ключа под изтривалката” – представете си, че има не един, не два, а ТРИ екипа, обучени в сигурност, които постоянно наблюдават за спазване на процедурите. Тогава НЯМА да има “ключ под изтривалката”.

    Представете си също така и ТРИ ключалки на вратата: за да бъде отключена, трябва съгласието и събирането на ТРИМА души. Това е много стара техника, от древността – както съм посочил , дори в Рилския манастир я има в средновековието (в музея е изложен сейфа отпреди няколкостотин години).

    И да – всяка система може да бъде “разбита” – но не за всяка това е валидно в смисъл нужното за “разбивача” време или пък лесно от гледна точка на средства. Иначе нямаше да обменяме всеки ден по стотици милиарди долари с интернет-банкиране, нали? То “разбирваемо” ли е? Ами да. Но се случва много рядко тъкмо защото има много опит и много обмислени предпазни механизми.

  • 18.09.2015 at 10:59
    Permalink

    @Йордан Кисьов: благодаря за коментара, г-н Кисьов!
    Той и сегашният изборен процес – физически, с хартиени бюлетини на място – разчита на много хора. И сега има сценарии, при които – ако тези хора се наговорят – могат да станат някои злоупотреби.
    Въпросът е дали това е РЕАЛНО, дали е достатъчно ВЕРОЯТНО? Защото ВСИЧКО на този свят е “възможно”, но някои от тези възможности са с много малки вероятности заради това как работят процесите в РЕАЛНИЯ живот.

    Например, какъв е шансът 5-ма членове на секционна избирателна комисия, плюс няколко наблюдатели и застъпници на партии да се договорят? Теоретично това е напълно възможно. Но в реалността е на практика невероятно да се случи.
    Или ако се случи – то ще е с мнинимален отрицателен ефект (например в малка селска секция).

  • 18.09.2015 at 15:27
    Permalink

    Половината от забележките към електронното гласуване , са всъщност забележки за Отдел “Материално техническо снабдяване и подръжка”.. Липсват забележки за недостатъчно количество салфетки помещенията на секретарките на ЦИК, и за лошия дизайн на тапетите в стаята на чистачката..

  • 19.09.2015 at 09:56
    Permalink

    Още някои полезни техники, неприложени в Естония, които биха подобрили сигурността:

    – всеки участник в техничското осигуряване по време да самите избори да има “сянка”: втори човек до него, от ЦИК и който е обучаен какво и как да наблюдава

    – разделяне на ключовете за криптиране на няколко парчета така, че никой да не може да ги ползва сам

  • 19.09.2015 at 10:05
    Permalink

    “security in depth” – сигурност в ДЪЛБОЧИНА, тоест многостепенна и в най-различни посоки – ТОВА е което прави една система сигурна; не само един или два или три нейни елемента; не само криптирането – което е най-популярно в масовата култура

  • 19.09.2015 at 10:08
    Permalink

    и още и още мерки за сигурност, които се прилагат стандартно в една самоуважаваща се фирма, камо ли за една толкова важна система като е-гласуване: статично и динамично сканиране на кода, има го дори като услуга (ъплоадваш си кода и получаваш доклад къде и какви проблеми са открити)

    ЗАДЪЛЖИТЕЛЕН елемент за кода на е-гласуването

  • 13.10.2015 at 17:24
    Permalink

    Аз нещо очевидно не разбирам??? След като със статията си господин Гаджоков уверявате, че пропуските в Естонската система са поне 10 . При положение , че обяснявате колко са елементарни пропуските, за каква сигурност говорим въобще, още повече знаем , че ако естонците са допуснали 10 то ние навярно поне 20 ще допуснем? Тук въобще не говорим за това кой има достъпа до данните в Интернет. Когато попитаха Юнкер, защо трябва всяко едно запитване до кметството в даден европейски град от европейски гражданин на този град да ходи до САЩ и после да се връща в Европа , той отговори нелепо, че сме проспали 20 години и затова…. За каква сигурност говорим не разбирам, когато подслушват Меркелите и Саркозитата и те се усмихват нелепо??? Абсолютно подмяна на демокрацията родена в Европа с Евроатлантическите измислици.

  • 14.10.2015 at 11:43
    Permalink

    @Chuden Chudeniv: не сте гледали видеото на проф. Халдерман – в него той изтъква точно тези 10 пропуска. Затова и точно тях обсъждам аз в моята публикация.

    Тези пропуски – понеже са оперативни, а не технологични – са напълно преодолими при работа на един професионален екип по сигурността. Такива не се допускат, например, от повече от 15 години в компанията в която работя. При това тази компания не е специализирана в сигурността на информационни системи.
    Следователно, нивото на оперативна сигурност, необходимо за е-гласуване, е напълно постижимо.

    И не се бъркайте – ВСЯКА система има бъгове и недостатъци, защото е несеъвършена по дефиниция. Но може да бъде постигната отлична защита – ако бъдат приложени отгварящи на съвремеието ПРАКТИКИ за информационна сигурност.

    А Юнкер е бил прав – Европа беше страшно много назад в Интрнет години наред, затова Интернет се разви според изградената от американците инфраструктура.
    Разбира се, това твърдение е силно преувеличено: ако и потребителя и сървъра на европейска институция са хоствани в Европа, шанса пътя от единия до другия да мине през американска инфраструктура (в САЩ) за да стигне до европейската институция е малък.

  • 23.10.2015 at 19:23
    Permalink

    Изпускате първата критика – прихващането на паролата от client side malware, чрез което може по-късно автоматично да се замени вота. Вероятно имат в предвид паролата от ИД устройството, която е една и съща.Не би трябвало да е възможно автоматично да се криптира и изпрати вота, все някъде в процеса трябва да има човешка интеракция, т.е. да се потвърди изпращането. Това също е елементарна мярка, която явно не е имплементирана по този начин.

  • 23.10.2015 at 23:11
    Permalink

    @Маргарита Кусева: Не знам дали ви разбирам коректно, но мисля че всъщност съм покрил този въпрос – просто не съм ги подредил както са в оригиналната последователност във видеото на халдерман.
    Вижте “Пропуск 8”. За да не може malware да открадне цифрите на ПИН-а, прозореца с тях може да се показва на случайно място на екрана и ПИН-а да се въвежда с натискане на ГРАФИЧНИТЕ бутони на цифрите в този прозорец с мишката, а не с писане върху клавиатурата.
    Това е отдавна известна техника, позната под името “виртуална клавиатура”. Kaspersky Lab я предлагат от години вместо реаланата за въвеждане на пароли при банкиране и други чуствителни операции.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *